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

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

Число в строке... [D7, XP]


FEV ©   (2009-10-21 14:56:00) 

Есть небольшая проблема, возможно решение ее более чем простое, у меня есть переменная определенная как строка. В она должна иметь только числа, т.к. переводиться в числа (strtofloat). Так перед тем, как выполнить функцию перевода числа, мне надо исключить возможность нахождения там символов, которые вызовут ошибку. Т.е. мне нужна проверка строки, а именно что там числа!
Например: Numeric(label1.caption)


FEV   (2009-10-21 15:34:00) [1]


> Nucer   (21.10.09 15:10) [4]
> StrToFloatDef(str, 0)Второй параметр - результат функции
> в случае ошибки при конвертировании.

Спасибо, это мне подходит)
Мне нужно было исключить попадания в label1 текста как символов, а разрешить только числовые варианты.
Результатом стало:
label1.Caption:=floattostr(StrToFloatDef(clipboard.AsText, 0));


Медвежонок Пятачок   (2009-10-21 15:28:00) [2]

ShowMessage(FloatToStr(StrToFloat('-1,0E3')));

не цифр аж целых три штуки


Anatoly Podgoretsky   (2009-10-21 15:25:00) [3]

Так тебе нужна провера или исключение, это между прочим разные решения.


FEV   (2009-10-21 15:25:00) [4]

>
> вопрос - почему там оказались буквы?

Использую буфер обмена, а именно вставку, мало ли какой хлам там может быть, а мне надо 100% ограничить label от символов.


oldman   (2009-10-21 15:17:00) [5]


> у меня есть переменная определенная как строка. В она должна
> иметь только числа


вопрос - почему там оказались буквы?


Nucer   (2009-10-21 15:10:00) [6]

StrToFloatDef(str, 0)
Второй параметр - результат функции в случае ошибки при конвертировании.


RWolf   (2009-10-21 15:00:00) [7]

try
 fl:=strtofloat(str);
except
 on EConvertError do
   ShowMessage('не число!');
end;


Игорь Шевченко   (2009-10-21 15:00:00) [8]

trystrtofloat


oldman   (2009-10-21 14:59:00) [9]

1. И в чем проблема?


> Т.е. мне нужна проверка строки, а именно что там числа!


2. Числа или число?

Проверить можно множеством методов. В чем проблема?


Наверх

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