Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Легкая амнезия:)
|
|||
|---|---|---|---|
|
#18+
Случилось страшное - видимо я теряю память. вопрос вот в чем: как узнать является ли символьная строка числом? Никак не могу вспомнить подходящую функцию. Неужели через isdigit делать? Подскажите кто знает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2004, 10:36 |
|
||
|
Легкая амнезия:)
|
|||
|---|---|---|---|
|
#18+
В общем случае задача достаточно нетривиальная. Например, является ли числом следующая строка: "000 123 456-70" В простейшем случае, можно сделать такую проверку Код: plaintext 1. 2. 3. 4. Кроме того, точность расчета FoxPro ограничивается 14 значащими цифрами. Т.е. если речь идет о числах, содержащих более 14 цифр, то такая проверка может не сработать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2004, 10:51 |
|
||
|
Легкая амнезия:)
|
|||
|---|---|---|---|
|
#18+
Да, можно еще проверить так: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2004, 10:54 |
|
||
|
Легкая амнезия:)
|
|||
|---|---|---|---|
|
#18+
Я немного неточно выразился, когда я писал "число", имелось ввиду число в месяце, т.е. целое число в диапозоне 1-31 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2004, 10:55 |
|
||
|
Легкая амнезия:)
|
|||
|---|---|---|---|
|
#18+
BETWEEN('aa123', '1', '31') - .F. BETWEEN('23', '1', '31') - .T. BETWEEN('32', '1', '31') - .F. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2004, 11:11 |
|
||
|
Легкая амнезия:)
|
|||
|---|---|---|---|
|
#18+
Все гениальное просто. Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2004, 11:16 |
|
||
|
Легкая амнезия:)
|
|||
|---|---|---|---|
|
#18+
Да заодно вопрос вдогонку. Не раз замечал что кавычки в фоксе вещь важная, так вот чем по сути в данном случае отличаются эти команды BETWEEN('aa123', '1', '31') BETWEEN('aa123', 1, 31) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2004, 11:26 |
|
||
|
Легкая амнезия:)
|
|||
|---|---|---|---|
|
#18+
Вот и баги проявились: BETWEEN( '1f' ,'1' , '31') - .T. Это не есть хорошо. Есть предложения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2004, 11:41 |
|
||
|
Легкая амнезия:)
|
|||
|---|---|---|---|
|
#18+
Это число вводится с клавиатуры? Тогда задай для TextBox.InputMask="99" в этом случае просто в принципе не смогут ничего ввести кроме цифр и знака "-". Ну, а в самом общем случае: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2004, 11:51 |
|
||
|
Легкая амнезия:)
|
|||
|---|---|---|---|
|
#18+
В связи с чем все это делаешь? Если интерфейсное решение, то пользуй маски ввода. Или это принципиальный вопрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2004, 11:52 |
|
||
|
Легкая амнезия:)
|
|||
|---|---|---|---|
|
#18+
Во-первых BETWEEN('5', '1', '31')-.F. - это я вообще не понял, как такое может быть или у меня фокс глючит? По поводу ввода: есть текстбокс куда вводятся числа в формате дд;дд... или дд-дд;дд-дд Как тут поставить маску ума не приложу, подскажите буду рад ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2004, 11:59 |
|
||
|
Легкая амнезия:)
|
|||
|---|---|---|---|
|
#18+
еще одна неприятность BETWEEN('03', '1', '31') - F Похоже и это вручную надо прописывать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2004, 12:07 |
|
||
|
Легкая амнезия:)
|
|||
|---|---|---|---|
|
#18+
Все заработало, спасибо Владимиру. Твой вариант и 05 нормально воспринимает, одним словом все ок. Остался только один вопрос, просто так из интереса, почему BETWEEN('5', '1', '31')-.F. BETWEEN('2', '1', '31')-.T. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2004, 12:20 |
|
||
|
Легкая амнезия:)
|
|||
|---|---|---|---|
|
#18+
ВладимирМ указал же как обработать Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2004, 12:22 |
|
||
|
Легкая амнезия:)
|
|||
|---|---|---|---|
|
#18+
авторОстался только один вопрос, просто так из интереса, почему BETWEEN('5', '1', '31')-.F. BETWEEN('2', '1', '31')-.T. Это из-за типов данных, сравнение строк так работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2004, 12:27 |
|
||
|
Легкая амнезия:)
|
|||
|---|---|---|---|
|
#18+
Ну это же так просто! Строки сравниваются в алфавитном порядке. Цифры в строке - это те же символы. И их алфавитный порядок такой: 0123456789. Таким образом, строки располагаются в следующем порядке: '1' '10' '105' '11' '2' '25' '2f' '3' 'a' 'b' И '20' > '2', но < '3'. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2004, 12:32 |
|
||
|
Легкая амнезия:)
|
|||
|---|---|---|---|
|
#18+
всем спасибо. Думаю на этом тема закрыта ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2004, 12:35 |
|
||
|
Легкая амнезия:)
|
|||
|---|---|---|---|
|
#18+
По поводу маски ввода. В такой постановке, конечно не получится. Но можно сделать проверку допустимых значений в событии KeyPress, примерно так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Как сравниваются символьные данные: ?"5"<"31" Вернет .F., поскольку сравнение идет слева-направо по одному символу , т.е. сначала сравниваются первые символы обеих строк и естесственно 5 больше 3. После чего, последующие символы уже просто не сравниваются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2004, 12:42 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=32512715&tid=1596646]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
| others: | 270ms |
| total: | 429ms |

| 0 / 0 |
