Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Функции пребразования 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;
 


Наверх

Титульная страница Поиск, карта сайта Написать письмо