[Overview][Constants][Types][Classes][Procedures and functions][Variables][Index] Reference for unit 'sysutils' (#rtl)

TextToFloat

Convert a buffer to a float value.

Declaration

Source position: sysstrh.inc line 208

function TextToFloat(

  Buffer: PChar;

  out Value: Extended

):Boolean;

function TextToFloat(

  Buffer: PChar;

  out Value: Extended;

  const FormatSettings: TFormatSettings

):Boolean;

function TextToFloat(

  Buffer: PChar;

  out Value;

  ValueType: TFloatValue

):Boolean;

function TextToFloat(

  Buffer: PChar;

  out Value;

  ValueType: TFloatValue;

  const FormatSettings: TFormatSettings

):Boolean;

Description

TextToFloat converts the string in Buffer to a floating point value. Buffer should contain a valid string representation of a floating point value (either in decimal or scientific notation).

If the buffer contains a decimal value, then the decimal separator character must be the value of the DecimalSeparator variable.

Remark: Note that this behaviour has changed, earlier implementations also allowed the use of '.' in addition to the decimal separator character.

The function returns True if the conversion was successful.

Errors

If there is an invalid character in the buffer, then the function returns False

See also

StrToFloat

  

Convert a string to a floating-point value.

FloatToStr

  

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

FormatFloat

  

Format a float according to a certain mask.

Example

Program Example91;

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

Uses SysUtils;

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

Procedure Testit;

Var
  I : Integer;
  E : Extended;

begin
  Writeln('Using DecimalSeparator : ',DecimalSeparator);
  For I:=1 to NrValues do
    begin
    Writeln('Converting : ',TestStr[i]);
    If TextToFloat(TestStr[i],E) then
      Writeln('Converted value : ',E)
    else
      Writeln('Unable to convert value.');
    end;
end;

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

Documentation generated on: May 14 2021