![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Является ли строка числом [D7, XP]
Saha © (2015-06-09 09:29:00)Всем привет. Подскажите как проверить значение переменной типа string, является ли это значение числом или нет.
Спасибо
Германн (2015-06-22 01:00:00) [1]
> StrToIntDef (21.06.15 21:58) [17]
>
> ?
> 1
>
> StrToIntDef
Имхо, самое бредовое и вредное изобретение папаши Борланда.
Никакого сообщения об ошибке, а программа выдаёт неверные результаты.
Ну и как следствие - падают ракеты.
StrToIntDef (2015-06-21 21:58:00) [2]
StrToIntDef.
backuper (2015-06-11 08:19:00) [3]Потому что эта функция делает именно то, что просит автор: "проверить значение переменной типа string, является ли это значение числом или нет".
Назначение функции StrToInt не проверка, а преобразование типа, с генерацией исключения в случае ошибки. Как ведет себя исключение под отладчиком - напоминать не надо?
PS Странно, что еще никто не попытался ехидно намекать на дробные числа...
brother (2015-06-11 02:16:00) [4][14] присоединяюсь к вопросу...
Германн (2015-06-11 01:51:00) [5]
> backuper (10.06.15 12:27) [13]
>
>
> > try?
>
> не try, TryStrToInt
>
Почему именно TryStrToInt?
backuper (2015-06-10 12:27:00) [6]
> try?
не try, TryStrToInt
Германн (2015-06-10 02:18:00) [7]Удалено модератором
Примечание: Создание пустых сообщений
Dennis I. Komarov (2015-06-09 23:55:00) [8]Удалено модератором
Примечание: Создание пустых сообщений
кгшзх (2015-06-09 18:24:00) [9]Является ли строка числом
Нет.
brother (2015-06-09 15:26:00) [10]> это понятно. а если там не число, то будет ошибка вылетать
try?
Dimka Maslov (2015-06-09 11:49:00) [11]
> Старый добрый Val спасет ОРД
Но только в том случае если сам О.Р.Д. имеет представление о десятичном разделителе и региональных настройках. А иначе О.Р.Д. будет опять смущён.
Saha (2015-06-09 11:39:00) [12]спс
icWasya (2015-06-09 11:31:00) [13]Ещё со времён Турбо-паскаля есть такая процедура-val
Используется так
var
Cod:integer;
Value:integer;{или double}
S:String;
...
val(S,Value,Code);
if Code=0 then// всё в порядке
else // здесь Code = номер символа, который не цыфра
Германн (2015-06-09 11:29:00) [14]Старый добрый Valспасет ОРД
RWolf (2015-06-09 10:26:00) [15]
> а если там не число, то будет ошибка вылетать
так именно это и требуется.
Игорь Шевченко (2015-06-09 10:17:00) [16]TryStrToInt
Saha (2015-06-09 09:52:00) [17]
> Вы не поверите: StrToInt...
это понятно. а если там не число, то будет ошибка вылетать
brother (2015-06-09 09:34:00) [18]Вы не поверите: StrToInt...