Функція StrToFloat конвертує числову рядок FloatString. наприклад '123.456' в значення з плаваючою точкою з типом Extended.
Вона підтримує цілий формат, формат з плаваючою точкою і науковий (експонентний) формат.
Якщо в FloatString (преобразуемой рядку) зустрівся символ, що відокремлює ціле від дробу, то він повинен відповідати цьому значенню змінної DecimalSeparator (точка - роздільник).
Другий варіант цієї функції призначений для використання в потоках. Перед викликом функції ви повинні заповнити запис FormatSettings. Функція робить локальну копію глобальних змінних форматування, що робить її потокобезпечна.
Виняток EConvertError буде викликано, якщо є помилки в FloatString. таких як кінцевих пробілів або неприпустимих десяткових знаків.
Extended Тип з плаваючою комою має найвищу точністю і місткістю
FloatToStr Перетворює значення з плаваючою комою в рядок
FloatToStrF Перетворює значення з плаваючою комою в рядок з форматуванням
TFormatSettings Запис для утримання регіональних значень для thread-safe функцій
Приклад коду. Перетворення рядка числа наукового формату
var
stringValue. string;
floatValue. Extended;
begin
// Установка вихідну рядок, що містить уявлення числа
stringValue: = '123.456E + 002';
// Його перетворення в число з плаваючою комою
floatValue: = StrToFloat (stringValue);
// І показ значення
ShowMessage (stringValue + '=' + FloatToStr (floatValue));
end;
Приклад коду. Захоплення помилок строкових перетворень
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