![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Число в строке... [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. Числа или число?
Проверить можно множеством методов. В чем проблема?