Справочник функций и процедур Delphi: StrToFloat

  Навигация по первой букве:

A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z

  Навигация по категории:

Compiler directives, Directives, Keywords / Types, Variables, Constants / Functions, Procedures

StrToFloat
Функция
Преобразует числовую строку в значение с плавающей запятой SysUtils unit
  
1 function StrToFloat ( FloatString : string ) : Extended;

2 function StrToFloat ( FloatString : string; const FormatSettings : TFormatSettings ) : Extended;

Delphi Sources

Описание
Функция 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;
123.456E+002 = 12345.6
 
Пример кода : Захват ошибок строковых преобразований
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
 


Последние добавленные на сайт исходники

DeLiKaTeS Tetris (Тетрис)

TDictionary Custom Sort

Fast Watermark Sources

3D Designer

Sik Screen Capture

Patch Maker

 

Айболит (remote control)

ListBox Drag & Drop

Доска для игры Реверси

Графические эффекты

Рисование по маске

Перетаскивание изображений

 

Copyright © 2004-2024 "Delphi Sources" by BrokenByte Software (источник – "DelphiBasics")

Группа ВКонтакте