Функция StrToFloat в Delphi преобразует числовую строку в значение с плавающей запятой.
StrUtils unit
- function StrToFloat (FloatString : string) : Extended;
- function StrToFloat (FloatString : string; const FormatSettings : TFormatSettings) : Extended;
Функция StrToFloat конвертирует числовую строку FloatString, например '123.456' в значение с плавающей точкой с типом Extended. Она поддерживает целый формат, формат с плавающей точкой и научный (экспоненциальный) формат.
Если в FloatString (преобразуемой строке) встретился символ, отделяющий целое от дроби, то он должен соответствовать текущему значению переменной DecimalSeparator (точка - разделитель).
Второй вариант этой функции предназначен для использования в потоках. Перед вызовом функции вы должны заполнить запись FormatSettings. Функция делает локальную копию глобальных переменных форматирования, что делает ее потокобезопасной.
Примечание.
Исключение EConvertError будет вызвано, если есть ошибки в FloatString, таких как конечных пробелов или недопустимых десятичных символов.
Функция StrToFloat: Преобразование строки числа научного формата
var
stringValue : string;
floatValue : Extended;
begin
// Установка исходную строку, содержащую представление числа
stringValue := '123.456E+002';
// Его преобразование в число с плавающей запятой
floatValue := StrToFloat(stringValue);
// И показ значения
ShowMessage(stringValue+' = '+FloatToStr(floatValue));
end;
Результат
123.456E+002 = 12345.6
Функция StrToFloat: Захват ошибок строковых преобразований
var
A : Extended;
begin
// Мы перехватим ошибки преобразования
try
A := StrToFloat('10 E 2'); // Средние пробелы не поддерживаются
except
on Exception : EConvertError do
ShowMessage(Exception.Message);
end;
try
A := StrToFloat('$FF'); // Шестнадцатеричные значения не поддерживаются
except
on Exception : EConvertError do
ShowMessage(Exception.Message);
end;
end;
Результат
'10 E 2' is not a valid floating point value
'$FF' is not a valid floating point value
Похожие функции и команды
Extended — тип с плавающей запятой обладающий самой высокой точностью и вместимостью.
FloatToStr — преобразует значение с плавающей запятой в строку.
FloatToStrF — преобразует значение с плавающей запятой в строку с форматированием.
TFormatSettings — запись для содержания региональных значений для thread-safe функций.
