![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проверка числового значения
wewill © (2006-10-17 19:38:00)Есть такая тривиальная задача: необходимо проверить стринговую переменную, является ли её значение числом. На мой взгляд это всё решается как то приблизительно так:
function IsNumber(s: string): Boolean;
var
i: Integer;
begin
Result := False;
for i := 1 to Length(s) do
case s[i] of '0'..'9':;
else Exit;
end;
Result := True;
end;
Но залез в гугл, я обнаружил ещё интересный способ:
function IsNumber(mStr: string): Boolean;
var
I: Real;
E: Integer;
begin
Val(mStr, I, E);
Result := E = 0;
E := Trunc(I);
end;
Что лучше?
Ketmar (2006-10-17 20:25:00) [21]и почему все забыли о const?
> [3]
тело except -- лишнее. переменная -- лишняя. про TryStrToInt() тоже не помним. низачот, короче.
RASkov (2006-10-17 20:23:00) [22]> [0] wewill (17.10.06 19:38)
function IsNumber(s: string): Boolean;
var
i: Integer;
begin
Result := False;
try
StrToInt(S);
Result := True;
except Result := False; end;
end;
Palladin (2006-10-17 20:12:00) [23]1 вариант: да, в машину лучше влезать через багажник
2 вариант: классика, но интересного ничего нет, достаточно прочитать книжечку небольшую, про основы паскаля, турбо паскаля...
Ketmar (2006-10-17 19:51:00) [24]и то фигня, и то фигня. %-)