ПредишенСледващото

функция StrToFloat преобразува цифров низ FloatString. например "123,456" в стойността на плаваща точка с разширен тип.
Той поддържа формат с плаваща запетая формат и научен (експоненциален) формат.

Ако FloatString (трансформируем линия) отговаря на характера, която разделя число от фракцията, то трябва да съответства на текущата стойност на променливата DecimalSeparator (точка - сепаратор).

Вторият вариант на изпълнение на тази функция е предназначен за употреба в потоци. Преди да се обадите на функцията, трябва да попълните входни FormatSettings. Това отнема локално копие на глобални променливи за форматиране, които го правят резба-безопасно.

EConvertError изключение ще бъде увеличен, ако има грешки в FloatString. като шпации или невалидни десетични знака.

Разширен числа с плаваща запетая с най-висок капацитет и прецизност

FloatToStr Преобразува стойност с плаваща точка в низ

FloatToStrF Преобразува стойност с плаваща точка в низ с форматиране

TFormatSettings рекорд за съдържанието на регионалните стойности за нишка безопасно функции

Пример код. Конвертиране на поредица от научни формат

Var
stringValue. низ;
floatValue. разширен;

започвам
// Задаване на стартовата линия, съдържаща изображението на броя
stringValue: = '123.456E + 002;

// превръщането му в число с плаваща точка
floatValue: = StrToFloat (stringValue);

// И показване на стойности
ShowMessage (stringValue + '=' + FloatToStr (floatValue));
приключи;

Пример код. Capture преобразуване низ грешка

Var
А. разширен;

започвам
// Ние засечени грешки преобразуване
опитвам
A: = StrToFloat ('10 E 2 '); // Средните пространства не се поддържат
с изключение на
по изключение. EConvertError правя
ShowMessage (Exception.Message);
приключи;

опитвам
A: = StrToFloat ( '$ FF "); // шестнадесетичен стойности не се поддържат
с изключение на
по изключение. EConvertError правя
ShowMessage (Exception.Message);
приключи;
приключи;

'10 E 2 "не е валидна стойност с плаваща точка
'$ FF "не е валидна стойност с плаваща точка

Подкрепете проекта - споделете линка, благодаря!