Delphi-Help

Val

Печать
Рейтинг пользователей: / 1
ХудшийЛучший 

Val

Описание

procedure Val ( const NumberString : string; var NumberVar : Number Type; var ErrorCode : Integer ) ;

Процедура Val является старой процедурой Delphi, которая может преобразовать строку NumberString в целое число или в число с плавающей запятой.
Переменная NumberVar должна соответствовать числовой строке. Должно быть обеспечено целочисленное строковое значение, чтобы получить целочисленный тип.
Если преобразование успешно, то ErrorCode устанавливается в 0. Иначе, он устанавливается на первый символ в NumberString, который привел ошибке преобразования.

Пример кода

var
numberString : string;
float        : Extended;
errorPos     : Integer;
begin
// Установка строки правильным с вещественным числом
numberString := '12345.678';
// Его преобразование в значение
Val(numberString, float, errorPos);
// Показ строки и преобразованного значения
if errorPos = 0
then ShowMessageFmt('Val(%s) = %12.3f',[numberString,float]);
// Val игнорирует Десятичный Разделитель, а конвертеры SysUtils - нет
DecimalSeparator := '_';
numberString := '12345_678';
Val(numberString, float, errorPos);
if errorPos = 0
then ShowMessageFmt('Val(%s) = %12.3f',[numberString,float])
else ShowMessageFmt('Val(%s) потерпело неудачу в позиции %d',
[numberString, errorPos]);
end;

Val(12345.678) = 12345.678
Val(12345_678) потерпело неудачу в позиции 6

Примечание

Предупреждение: более безопасно использовать SysUtils конверсионные подпрограммы, типа StrToFloat, где информация региона распознаётся. В частности символ, используемый для десятичной точки.

Авторизация



Счетчики