![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Функции пребразования StrToFloat, StrToInt и др.
ZeeM © (2005-12-20 02:06:00)Как проверить, что в строке находится действительно цифровое значение а не что-ниудь другое? Т.к. если не цифровое значение то сразу формируется исключение.
Fay (2005-12-20 04:44:00) [1]Val ?
Majesto (2005-12-20 04:20:00) [2]Все разобрался с исключениями
Спасибо
Majesto (2005-12-20 03:51:00) [3]Подойдет думаю исключение
вида
try
{
TryStrToFloat(s,f)
}
catch (...)
{
f = 0
}
но в таком виде тоже не срабатывает
может надо перехватывать какое то особое исключение и указыветь его в catch?
Majesto (2005-12-20 03:35:00) [4]TryStrToFloat() и StrToFloatDef преобразуют если имеется знак еще
а если в строке белиберда и вообще не цифры или она пустая?
прст получается что программа стопится когда я использую эти функции для некоторых строк.
Джо (2005-12-20 03:12:00) [5]А также TryStrToFloat()
Джо (2005-12-20 03:11:00) [6]
> [5] Германн © (20.12.05 02:54)
> Но в сабже фигурировало "StrToFloat"!!!
Тогда StrToFloatDef, конечно :)
> 2 Джо © (20.12.05 02:48) [4]
> Уж скоро 2 ночи, а ты ещё не спишь!
Это за грехи мои тяжкие...
Германн (2005-12-20 03:03:00) [7]
> А как определить это что-то?
>
> как можно осуществить проверку что в строке не цифры?
>
А чем тебя не устраивает:
> Германн © (20.12.05 02:17) [1]
>
> Если тебе не нужна собственная специфическая реакция на
> "что-нибудь другое", то просто вызови соответствующую функцию
> StrTo...
> Исключение сформируется сразу. Без твоего участия.
>
> Иначе напиши что-то вроде:
> try
> StrTo...
> except
> ... что-то
> end;
>
>
Majesto (2005-12-20 03:00:00) [8]А как определить это что-то?
как можно осуществить проверку что в строке не цифры?
Германн (2005-12-20 02:54:00) [9]2 Джо © (20.12.05 02:48) [4]
Уж скоро 2 ночи, а ты ещё не спишь!
Но в сабже фигурировало "StrToFloat"!!!
Джо (2005-12-20 02:48:00) [10]
> [2] Majesto (20.12.05 02:29)
> Мне необходимо проверять, что если в строке содержится не
> число, то в результате функция выдавала бы просто 0
StrToIntDef (SomeString, 0);
Германн (2005-12-20 02:35:00) [11]Ну так и замени "... что-то" на Result:=0;
В чем проблема?
Majesto (2005-12-20 02:29:00) [12]Мне необходимо проверять, что если в строке содержится не число, то в результате функция выдавала бы просто 0
Германн (2005-12-20 02:17:00) [13]Если тебе не нужна собственная специфическая реакция на "что-нибудь другое", то просто вызови соответствующую функцию StrTo...
Исключение сформируется сразу. Без твоего участия.
Иначе напиши что-то вроде:
try
StrTo...
except
... что-то
end;