Вниз
Скачать: CL | DM;

А какой функцией узнать число ли в текстовом поле?   Найти похожие ветки 

 
JIruaasgyy   (2004-03-02 13:42) [0]

Необходима функция для анализа того что написанно в текстовом поле.Необходимо проверить, чтобы там было число.Число может быть как целым так и нет (т.е. может содержаь числа после запятой).


 
Reindeer Moss Eater ©   (2004-03-02 13:46) [1]

Иногда в текстовом поле написано число, но работать с ним как с числом нельзя.

Поэтому StrToFloat + Искуственный Интеллект для анализа на десятичные разделители и разделители тысяч


 
TUser ©   (2004-03-02 13:47) [2]

val(str,i,j);
if j<>0 then там не число
else i - это то число, которое там


 
SPIRIT ©   (2004-03-02 13:48) [3]

ORD смотри :)


 
Reindeer Moss Eater ©   (2004-03-02 13:50) [4]

if j<>0 then там не число

Там может быть число, но не влезающее ни в один из диапазонов


 
Romkin ©   (2004-03-02 13:53) [5]

А val чем не подходит?


 
Андрей Сенченко ©   (2004-03-02 13:55) [6]

StrToIntDef,
Val,
if string[i] not in

вариантов масса


 
Reindeer Moss Eater ©   (2004-03-02 14:06) [7]

MyInt:=StrToIntDef("99999999999999999999999999999999999999999999999999999999",0);
Число там или не число?

if string[i] not in
"7,7.7,7-7111"
Число это или нет?

"111,000"
Что это ?
Сто одиннадцать тысяч с разделителем тысяч в виде запятой или сто одиннадцать ровно (с десятичной запятой) ?


 
Андрей Сенченко ©   (2004-03-02 14:18) [8]

Reindeer Moss Eater © (02.03.04 14:06) [7]

Девятки лень считать

DecimalSeparator убирает по крайней мере точку или запятую.

Резонно.


 
Sha ©   (2004-03-02 14:27) [9]

$12 - а это число?


 
Reindeer Moss Eater ©   (2004-03-02 14:40) [10]

DecimalSeparator убирает по крайней мере точку или запятую.

У тебя во время выполнения кода проверки на число значение DecimalSeparator одно.
А когда проверяемая строка рождалась (не обязательно сейчас, не обязательно на этой машине и не обязательно с теми же локальными параметрами) - он мог быть другим


 
Андрей Сенченко ©   (2004-03-02 16:05) [11]

Reindeer Moss Eater © (02.03.04 14:40) [10]

Согласись, что внутри ОДНОЙ строки не может быть ДВУХ разных разделителей.
Но это софистика. Я согласен, что мои примеры справедливы лишь для некторого ( довольно большого ) числа частных случаев.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.018 c
1-43497
Lena19
2004-02-28 23:46
2004.03.14
for n:=1 to 10 do goto n


14-43771
Undert
2004-02-19 11:31
2004.03.14
Помогите с SQL запросом


3-43397
Pavel
2004-02-12 17:22
2004.03.14
Отображение memo в DBGrid


3-43287
XAdmin
2004-01-23 13:36
2004.03.14
ADOCommand Error Размер поля недостаточен


14-43753
Mox Fulder
2004-02-19 18:13
2004.03.14
Типа патчи и всё такое...




   Наверх