Форум: "Основная";
Текущий архив: 2002.10.21;
Скачать: [xml.tar.bz2];
Внизкак проверить строку если это число, или нет? Найти похожие ветки
← →
mike_yz (2002-10-10 19:25) [0]как проверить строку введённая пользователем приложения является ли она числом или нет?
← →
Best Before 2024 (2002-10-10 19:28) [1]см функции
StrToInt Def
FloatToStr Def
← →
KaPaT (2002-10-10 19:29) [2]я обычно так делал....
n:=s.Length;
for i:=1 to n do
If not (s[i] in ["0".."9"] then <значит не число>
Дальше уж сам обработай если это самый оптимальный вариант...пусть выскажутся другие
← →
. (2002-10-10 19:30) [3]я чтото слышал что обратные лупы быстрее работают это так?
← →
Best Before 2024 (2002-10-10 19:32) [4]2 KaPaT © (10.10.02 19:29)
А 12.34 - это что, не число? или 12,34
← →
. (2002-10-10 19:35) [5]if not ( s[i] in ["0".."9", DecimalSeparator ) then
← →
Best Before 2024 (2002-10-10 19:36) [6]2 . (10.10.02 19:35)
А 12,,3,4 - Это тоже число :))
← →
TTCustomDelphiMaster (2002-10-10 19:37) [7]try
floattostr
except
не число
end;
← →
Best Before 2024 (2002-10-10 19:39) [8]I := StrToIntDef(Str, <какое вряд ли можно ввести>)
if I = <какое вряд ли можно ввести> then не число
FloatToStrDef - аналогично
или TTCustomDelphiMaster © (10.10.02 19:37)
только
StrToFloat :))
← →
TTCustomDelphiMaster (2002-10-10 19:43) [9]Ага
← →
Best Before 2024 (2002-10-10 19:45) [10]
StrToFloatDef
Уже и сам запутался :(
← →
yozhik (2002-10-10 20:53) [11]а если 12,3 и 12.3 - это одно и тоже, внезависимости от DecimalSeparator, только одно из "чисел" надо переконвертить ???
а как быть с 12, и с 012 - это число или нет ???
Есть решение для всех случаев, может не совсем правильное но рабочее:
function IsDigit(AVal: variant): boolean;
var sVal: string;
begin
sVal := Trim(String(AVal));
if (sVal="") or (sVal[1] in [".",",","0"]) or
(sVal[Length(sVal)] in [".",","]) then
begin
Result := False;
Exit;
end;
try
DecimalSeparator := ",";
StrToFloat(sVal);
Result := true
except
try
DecimalSeparator := ".";
StrToFloat(sVal);
Result := true
except
Result := False;
Exit;
end
end;
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.10.21;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c