![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проверка строки [D7, XP]
Igor2010 © (2009-07-11 12:22:00)Как проверить является ли строка(string) числом(integer, real)?
Ega23 (2009-07-13 16:13:00) [1]
> А если, не дай Бог, американский формат?
А что, Val определяет, американский формат, или арабо-израильский?
Или вообще, у меня римскими цифрами записано?
Anatoly Podgoretsky (2009-07-13 16:10:00) [2]> Amoeba (13.07.2009 16:07:18) [18]
Не дай бог конечно, а какая разница?
Amoeba (2009-07-13 16:07:00) [3]А если, не дай Бог, американский формат?
123,456,789.00
Чем руководствоваться применяя StringReplace?
Ega23 (2009-07-13 15:45:00) [4]Собственно, TryStrToInt через Val и работает:
function TryStrToInt(const S: string; out Value: Integer): Boolean;
var
E: Integer;
begin
Val(S, Value, E);
Result := E = 0;
end;
Ega23 (2009-07-13 15:43:00) [5]
> А если DecimalSeparator - запятая? Тогда как быть?
s := StringReplace(StringReplace(s, '.', DecimalSeparator, []), ',', DecimalSeparator, []);
Anatoly Podgoretsky (2009-07-13 13:55:00) [6]> clickmaker (13.07.2009 12:25:14) [14]
Вопрос не про преобразование, с этим как раз просто, а о том, что только одно является числом, а другое нет и неизвестно какое.
clickmaker (2009-07-13 12:25:00) [7]> А что делают риальные пацаны, при S1 = '1.23' и при S2 =
> '1,23'
StringReplace
Anatoly Podgoretsky (2009-07-13 12:20:00) [8]> clickmaker (13.07.2009 12:14:12) [12]
А что делают риальные пацаны, при S1 = '1.23' и при S2 = '1,23'
clickmaker (2009-07-13 12:14:00) [9]> А если DecimalSeparator - запятая? Тогда как быть?
чиста риальные пацаны сразу заменяют DecimalSeparator на свой, при старте программы. А особо крутые перцы меняют сразу системные настройки -)
Anatoly Podgoretsky (2009-07-13 12:10:00) [10]А видимо так и есть.
Amoeba (2009-07-13 11:58:00) [11]
> Ega23 © (13.07.09 10:00) [9]
>
>
> > Как проверить является ли строка(string) числом(integer,
>
> > real)?
>
>
> Val + F1
А если DecimalSeparator - запятая? Тогда как быть?
Ega23 (2009-07-13 10:00:00) [12]
> Как проверить является ли строка(string) числом(integer,
> real)?
Val + F1
brother (2009-07-13 07:05:00) [13]уж не для едитов ли хочешь использовать?
Igor2010 (2009-07-11 13:43:00) [14]Спасибо работает, закрываем темку
oldman (2009-07-11 13:24:00) [15]
> если только InToStr и IntToFloat, это скучно...
StrToInt и StrToFloat, ессно...
руки кривые!!!
oldman (2009-07-11 13:22:00) [16]
> turbouser © (11.07.09 13:15) [4]
перефразируем...
string:="25,52е +10" является числом?
string:="25*22-(12+14)/7" является числом?
если только InToStr и IntToFloat, это скучно...
turbouser (2009-07-11 13:15:00) [17]
> oldman © (11.07.09 13:14) [3]
и снова атака буквоедов
oldman (2009-07-11 13:14:00) [18]
> Igor2010 (11.07.09 12:22)
> Как проверить является ли строка(string) числом(integer,
> real)?
string:="двадцать пять" является числом?
Игорь Шевченко (2009-07-11 12:40:00) [19]tryStrto...
Юрий Зотов (2009-07-11 12:30:00) [20]Либо парсить, либо что-то типа этого:
function IsInteger(S: string): boolean;
begin
try
StrToInt(S)
Result := true
except
Result := false
end
end;