TextToFloat¶
Convert a buffer to a float value.
Declaration¶
Source position: sysstrh.inc line 225
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 |
|---|---|
| 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.