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
Name | Description |
---|---|
FloatToStr | Convert a float value to a string using a fixed format. |
FormatFloat | Format a float according to a certain mask. |
StrToFloat | Convert a string to a floating-point value. |
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.