Unit 'sysutils' Package
[Overview][Constants][Types][Classes][Procedures and functions][Variables][Index] [#rtl]

StrToFloat

Convert a string to a floating-point value.

Declaration

Source position: sysstrh.inc line 200

function StrToFloat(

  const S: string

):Extended;

function StrToFloat(

  const S: string;

  const FormatSettings: TFormatSettings

):Extended;

Description

StrToFloat converts the string S to a floating point value. S should contain a valid string representation of a floating point value (either in decimal or scientific notation). The thousandseparator character may however not be used.

Up to and including version 2.2.2 of the compiler, if the string contains a decimal value, then the decimal separator character can either be a '.' or the value of the DecimalSeparator variable.

As of version 2.3.1, the string may contain only the DecimalSeparator character. The dot ('.') can no longer be used instead of the DecimalSeparator.

Errors

If the string S doesn't contain a valid floating point string, then an exception will be raised.

See also

TextToFloat

  

Convert a buffer to a float value.

FloatToStr

  

Convert a float value to a string using a fixed format.

FormatFloat

  

Format a float according to a certain mask.

StrToInt

  

Convert a string to an integer value.

Example

Program Example90;

{ This program demonstrates the StrToFloat function }
{$mode objfpc}
{$h+ }

Uses SysUtils;

Const
  NrValues = 5;
  TestStr : Array[1..NrValues] of string =
           ('1,1','-0,2','1,2E-4','0','1E4');

Procedure Testit;

Var
  I : Integer;
  E : Extended;

begin
  Writeln('Using DecimalSeparator : ',DecimalSeparator);
  or:=1 to NrValues do
    begin
    Writeln('Converting : ',TestStr[i]);
    Try
      E:=StrToFloat(TestStr[i]);
      Writeln('Converted value : ',E);
    except
      On E : Exception do
        Writeln('Exception when converting : ',E.Message);
    end;
    end;
end;

Begin
  DecimalSeparator:=',';
  Testit;
  DecimalSeparator:='.';
  Testit;
End.

Documentation generated on: Dec 27 2024