![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как грамотно преобразовать string в integer
Денисыч © (2004-02-17 00:52:00)
Т.е можно написать
try
s := strtoint( i );
except поймал если че - то не так ( не число )
но это несерьезно. Перебор строки IN 0..9 тоже.
И как проверять введено ли в EDIT число или нет без обработки исключений.
Anatoly Podgoretsky (2004-02-17 15:02:00) [1]
Fay © (17.02.04 12:49) [6]
Это езще почему, данное число есть нормальный integer-type, параметр V нетипизированный, твоя задача обеспечить, что бы в него могло поместиться это число.
Draught (2004-02-17 13:17:00) [2]
попробуй TryStrToInt(<string>,<integer>)
Fay (2004-02-17 12:49:00) [3]
2Жук © (17.02.04 11:54) [5]
OnExit
2Maxud © (17.02.04 07:52) [2]
Val глотает значения типа "2147483648". А не должен.
Жук (2004-02-17 11:54:00) [4]
А если вставка из буфера шифт+инсертом ?
Desdechado (2004-02-17 11:04:00) [5]
StrToIntDef - в случае ошибки возвращает указанное значение по умолчанию
paul_k (2004-02-17 09:45:00) [6]
Converts a string that represents an integer (decimal or hex notation) to a number with Boolean success code.
Unit
SysUtils
Category
type conversion routines
Delphi syntax:
functionTryStrToInt(const S: string; out Value: Integer): Boolean;
Description
TryStrToIntconverts the string S, which represents an integer-type number in either decimal or hexadecimal notation, into a number, which is assigned to Value. If S does not represent a valid number,TryStrToIntreturns false; otherwiseTryStrToIntreturns true.
Maxud (2004-02-17 07:52:00) [7]
var v, code: integer;
begin
InpStr := "text";
Val(InpStr, v, code);
if code <> 0 then // ругаемся
утвж
Exciter (2004-02-17 02:02:00) [8]
Запрети ввод в строку всех символов кроме чисел. И трай вообше не нужен будет. Если тока юзер из буфера туда мусор не воткнет.