Поле типа Number

Xalet

Well-known member
08.08.2008
410
0
#1
Есть поле типа намбер. Мне нужно чтобы пользователь мог вводить числа начинающиеся с нуля, как пример 0000124. Ноутсы все нули отбрасывают. Можно ли как-то задать возможность вводить именно с нулями? Или надо с текстом извращаться?
 

Omh

Lotus team
04.07.2007
2 210
1
#2
000124 - Какой же это номер?
Это как раз текст :)
 

Xalet

Well-known member
08.08.2008
410
0
#6
Да мне собственно форматить и не нужно. Мне нужно вводить и проверять... В общем разные у нас с АйБиЭмом представления о номерах... Текст так текст...

Всем спасибо за ответы.
 

Omh

Lotus team
04.07.2007
2 210
1
#7
Проверить можно с помощью оператора Like на QuerySave например.
 

Xalet

Well-known member
08.08.2008
410
0
#9
@ToNumber(value) Почему эта функция работает так же, как и @TextToNumber(value).
Т.е. @ToNumber(555рр55) вернет 555, а не ошибку, как указано в хелпе?
 

Omh

Lotus team
04.07.2007
2 210
1
#10
@ToNumber(pp55555) должно вернуть ошибку, а в твоём случае он заескейпит символы.
Кажись так было.
 

hosm

* so what *
18.05.2009
2 442
6
#11
Может, попытаться сделать проверки на цифры с помощью @Matches, раз уж пошли в дело собаки?
 

Xalet

Well-known member
08.08.2008
410
0
#12
Проверку то я сделал... Есть @IsNumber на собаках, хоть я на ЛС все и переписал.
Но почему @ToNumber работает именно так остается загадкой.
 

hosm

* so what *
18.05.2009
2 442
6
#13
Если меня не подводит склероз, @IsNumber вернет @true только для числа.
Текст, содержащий число как строку, он так не обработает.
 

Xalet

Well-known member
08.08.2008
410
0
#15
Если меня не подводит склероз, @IsNumber вернет @true только для числа.
Текст, содержащий число как строку, он так не обработает.
Очень странно. Потому как аналог ЛС Isnumeric работает и со стрингами. Тем хуже любителям собак.
 

Eugen

Well-known member
22.03.2012
177
0
#16
День добрый.
У меня немного другая проблема:
Есть поле number. Мне надо чтобы если пользователь вводит цифры, то ничего не происходит, а если вводит буквы, то поле просто чистится и пользователю месседж.
В хэлпе написано, что @IsNumber(имя_поля) вернет 1, если в поле записаны цифры.
Пробую так на Input Validation:
@If(@IsNumber(имя_моего_поля)="1";@Success;@Failure("Введите цифры."))
В итоге что бы я ни ввел, он в любом случае выдает месседж. Что не так?
 

hosm

* so what *
18.05.2009
2 442
6
#17
кавычки. Лучше вообще ="1" убрать.
Return value
flag
Boolean
Returns 1 (True) if the value is a number or a number list
Returns 0 (False) if the value is not a number or a number list
 

Leoric

Well-known member
15.10.2003
60
8
#20
@IsNumber сама по себе возвращает булево значение. Хватит и @If(@IsNumber(@ThisValue);@Success;@Failure("Введите цифры."))

Но полагаю проблема не в этом. Изменитt тип поля на Number, пока у вас значение является текстом @IsNumber вернет всегда False. Если надо текстовое поле, куда можно вводить только цифры — можно пробовать @If(@IsNumber(@TextToNumber(@ThisValue));@Success;@Failure("Введите цифры."))

P.S. не проверял, пишу по памяти