Поле типа Number

Тема в разделе "Lotus - Программирование", создана пользователем Xalet, 1 дек 2009.

  1. Xalet

    Xalet Well-Known Member

    Регистрация:
    8 авг 2008
    Сообщения:
    410
    Симпатии:
    0
    Есть поле типа намбер. Мне нужно чтобы пользователь мог вводить числа начинающиеся с нуля, как пример 0000124. Ноутсы все нули отбрасывают. Можно ли как-то задать возможность вводить именно с нулями? Или надо с текстом извращаться?
     
  2. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    000124 - Какой же это номер?
    Это как раз текст :)
     
  3. Xalet

    Xalet Well-Known Member

    Регистрация:
    8 авг 2008
    Сообщения:
    410
    Симпатии:
    0
    Обычный номер... К примеру телефонный 009... Вопрос же не в этом...
     
  4. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    дяденька, это текст, форматированный текст...
    в скрипте есть функция Format, на собаке не знаю, придется изголяться.
     
  5. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    На собаке её заменяет @Text, там тоже форматить можно.
     
  6. Xalet

    Xalet Well-Known Member

    Регистрация:
    8 авг 2008
    Сообщения:
    410
    Симпатии:
    0
    Да мне собственно форматить и не нужно. Мне нужно вводить и проверять... В общем разные у нас с АйБиЭмом представления о номерах... Текст так текст...

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

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Проверить можно с помощью оператора Like на QuerySave например.
     
  8. turumbay

    Регистрация:
    13 мар 2009
    Сообщения:
    625
    Симпатии:
    2
    это номер, но не number :)
    придется с текстом извращаться. leading zero штатными средствами задать не получица
     
  9. Xalet

    Xalet Well-Known Member

    Регистрация:
    8 авг 2008
    Сообщения:
    410
    Симпатии:
    0
    @ToNumber(value) Почему эта функция работает так же, как и @TextToNumber(value).
    Т.е. @ToNumber(555рр55) вернет 555, а не ошибку, как указано в хелпе?
     
  10. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    @ToNumber(pp55555) должно вернуть ошибку, а в твоём случае он заескейпит символы.
    Кажись так было.
     
  11. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    Может, попытаться сделать проверки на цифры с помощью @Matches, раз уж пошли в дело собаки?
     
  12. Xalet

    Xalet Well-Known Member

    Регистрация:
    8 авг 2008
    Сообщения:
    410
    Симпатии:
    0
    Проверку то я сделал... Есть @IsNumber на собаках, хоть я на ЛС все и переписал.
    Но почему @ToNumber работает именно так остается загадкой.
     
  13. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    Если меня не подводит склероз, @IsNumber вернет @true только для числа.
    Текст, содержащий число как строку, он так не обработает.
     
  14. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Не подводит
     
  15. Xalet

    Xalet Well-Known Member

    Регистрация:
    8 авг 2008
    Сообщения:
    410
    Симпатии:
    0
    Очень странно. Потому как аналог ЛС Isnumeric работает и со стрингами. Тем хуже любителям собак.
     
  16. Eugen

    Eugen Well-Known Member

    Регистрация:
    22 мар 2012
    Сообщения:
    172
    Симпатии:
    0
    День добрый.
    У меня немного другая проблема:
    Есть поле number. Мне надо чтобы если пользователь вводит цифры, то ничего не происходит, а если вводит буквы, то поле просто чистится и пользователю месседж.
    В хэлпе написано, что @IsNumber(имя_поля) вернет 1, если в поле записаны цифры.
    Пробую так на Input Validation:
    @If(@IsNumber(имя_моего_поля)="1";@Success;@Failure("Введите цифры."))
    В итоге что бы я ни ввел, он в любом случае выдает месседж. Что не так?
     
  17. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    кавычки. Лучше вообще ="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
     
  18. erdi

    erdi Well-Known Member

    Регистрация:
    20 авг 2008
    Сообщения:
    261
    Симпатии:
    36
    @If(@IsNumber(@ThisValue)=1;@Success;@Failure("Введите цифры."))
     
  19. Eugen

    Eugen Well-Known Member

    Регистрация:
    22 мар 2012
    Сообщения:
    172
    Симпатии:
    0
    Все тоже самое.
     
  20. Leoric

    Leoric Well-Known Member

    Регистрация:
    15 окт 2003
    Сообщения:
    57
    Симпатии:
    16
    @IsNumber сама по себе возвращает булево значение. Хватит и @If(@IsNumber(@ThisValue);@Success;@Failure("Введите цифры."))

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

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

Поделиться этой страницей