|
Как установить точность вводимого числа (число знаков после запятой)
|
|||
---|---|---|---|
#18+
Задание. Есть отвязанная форма для ввода данных. (так пришлось сделать) После заполнения формы, по кнопке, данные из формы записываются в таблицы. Одно из полей таблицы - действительное число с 3 знаками после запятой. Если ввести число с 4 и более знаками после запятой, то при попытке записать данные возникнет ошибка (см. рис.). как этого избежать? Как проконтролировать введённое значение? ------------------------------------------------------------- А ты вложил уже свой кровный рубль в 50-ти миллиардное состояние Билла Гейтса? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2017, 10:59 |
|
Как установить точность вводимого числа (число знаков после запятой)
|
|||
---|---|---|---|
#18+
Вероятно, "по кнопке" сперва проверять введённые данные, и только при полном их соответствии требованиям выполнять запись. А при несоответствии выдавать пояснения и возвращать оператора к редактированию проблемных полей. Кстати, значения полей неплохо бы контролировать на валидность и в процессе ввода... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2017, 11:09 |
|
Как установить точность вводимого числа (число знаков после запятой)
|
|||
---|---|---|---|
#18+
JossЕсть отвязанная форма для ввода данных.Может делать на отвязанном/свободном рекордсете? Вот пусть он и следит за данными. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2017, 11:54 |
|
Как установить точность вводимого числа (число знаков после запятой)
|
|||
---|---|---|---|
#18+
Jossкак этого избежать? Как проконтролировать введённое значение? В смысле, всё равно ввести принудительно то, которое нужно, или подправить в соотв с табличным? На второй второй вариант, вы наверно знаете: Код: vbnet 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2017, 11:56 |
|
Как установить точность вводимого числа (число знаков после запятой)
|
|||
---|---|---|---|
#18+
AkinaВероятно, "по кнопке" сперва проверять введённые данные, и только при полном их соответствии требованиям выполнять запись. А при несоответствии выдавать пояснения и возвращать оператора к редактированию проблемных полей. Кстати, значения полей неплохо бы контролировать на валидность и в процессе ввода...Вводится где-то 30 разных параметров. Валидность вводимых данных проверяется. Но как проверить, что введено 4,0925, а не 4,092? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2017, 12:21 |
|
Как установить точность вводимого числа (число знаков после запятой)
|
|||
---|---|---|---|
#18+
ПанургJossЕсть отвязанная форма для ввода данных.Может делать на отвязанном/свободном рекордсете? Вот пусть он и следит за данными. С отвязанным рекордсетом дел пока не имел. Где можно об этом глянуть? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2017, 12:28 |
|
Как установить точность вводимого числа (число знаков после запятой)
|
|||
---|---|---|---|
#18+
гурДJossкак этого избежать? Как проконтролировать введённое значение? В смысле, всё равно ввести принудительно то, которое нужно, или подправить в соотв с табличным? На второй второй вариант, вы наверно знаете: Код: vbnet 1. 2. 3. 4. 5. 6.
Вопрос в том, как определить количество знаков после запятой и отрезать лишние? И проверку я собирался делать ещё до записи в таблицы. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2017, 12:31 |
|
Как установить точность вводимого числа (число знаков после запятой)
|
|||
---|---|---|---|
#18+
JossС отвязанным рекордсетом дел пока не имел. Где можно об этом глянуть? отвязаный рекордсет . Там не так уж и много. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2017, 12:39 |
|
Как установить точность вводимого числа (число знаков после запятой)
|
|||
---|---|---|---|
#18+
Панург, посмотрю. А вот есть ли возможность узнать количество знаков после запятой? Была идея перевести число в символьную строку, проверить наличие запятой, потом отсчитать число знаков... Но что-то некрасиво получается. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2017, 13:17 |
|
Как установить точность вводимого числа (число знаков после запятой)
|
|||
---|---|---|---|
#18+
Joss, вам ведь надо ввести с определенным количеством знаков. Тогда узнавать сколько их есть не требуется, достаточно сохранить разрешенное количество. С этим прекрасно справляется функция Round(число, точность) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2017, 13:23 |
|
Как установить точность вводимого числа (число знаков после запятой)
|
|||
---|---|---|---|
#18+
Jossкак проверить, что введено 4,0925, а не 4,092?Извини, но вопрос [censored]. Введённое значение у тебя по-любому имеет тип String. Вот и развлекись либо составлением шаблона, по которому будет выполняться ввод, либо составлением регэкспа или иного выражения, которым этот ввод будет проверяться в коде. А лучше и тем, и другим. Из [censored], например, можно предложить (не вздумай использовать в своём коде!) Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2017, 13:58 |
|
Как установить точность вводимого числа (число знаков после запятой)
|
|||
---|---|---|---|
#18+
Исходную форму я разрабатывал на основе рекордсета, а потом убрал его. Но что-то в памяти сохранилось. По-этому при попытке ввести вместо числа буквы, выводится ошибка. Это глюк или фича? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2017, 14:27 |
|
Как установить точность вводимого числа (число знаков после запятой)
|
|||
---|---|---|---|
#18+
Предыдущий рисунок показывает, что никакое действие на события поля не прописаны. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2017, 14:28 |
|
Как установить точность вводимого числа (число знаков после запятой)
|
|||
---|---|---|---|
#18+
mds_worldJoss, вам ведь надо ввести с определенным количеством знаков. Тогда узнавать сколько их есть не требуется, достаточно сохранить разрешенное количество. С этим прекрасно справляется функция Round(число, точность)Наверно это наиболее здравая идея. Сейчас попробую. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2017, 15:07 |
|
|
start [/forum/topic.php?fid=45&msg=39418128&tid=1612642]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 138ms |
0 / 0 |