Функція 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 функцій.
