Delphi strtofloat - függvény numerikus karakterlánc floatstring, például egy értéket

StrToFloat függvény a numerikus karakterlánc FloatString. így például „123.456” a lebegőpontos értéket a kiterjesztett típusú.
Támogatja a méret lebegőpontos formátum és a tudományos (exponenciális) formátumban.

Ha FloatString (transzformálható vonal) megfelel a karaktert, amely elválasztja a értéke a frakció, meg kell felelnie a jelenlegi változó értékét DecimalSeparator (pont - elválasztó).

A második kiviteli alak ez a funkció felhasználásra szánt folyamok. Mielőtt hívja a funkciót, akkor ki kell töltenie a belépési FormatSettings. Beletelik egy helyi másolatot globális formázási változók teszik szálbiztosak.

EConvertError kivételt kell emelni, ha vannak hibák FloatString. mint a követő üres vagy érvénytelen tizedes karaktereket.

Bővített lebegőpontos típus, amelynek a legnagyobb kapacitás és pontosság

FloatToStr konvertál lebegőpontos értéket egy string

FloatToStrF konvertál lebegőpontos értéket egy string formázási

TFormatSettings rekord tartalmát a regionális értékeket szálbiztosak funkciók

Példa kódot. Átalakítás string tudományos méret

var
stringValue. string;
floatValue. Bővített;

kezdődik
// a kiindulási vonalat tartalmazó ábrázolása száma
stringValue: = '123.456E + 002';

// Az átalakulás lebegőpontos szám
floatValue: = StrToFloat (stringValue);

// És leolvasásával
ShowMessage (stringValue + '=' + FloatToStr (floatValue));
végén;

Példa kódot. Capture hiba karakterlánc átalakítása

var
A. Extended;

kezdődik
// Mi elfogott átváltási hiba
megpróbál
A: = StrToFloat ('10 E 2 „); // Átlagos terek nem támogatott
kivéve
A kivétel. EConvertError do
ShowMessage (Exception.Message);
végén;

megpróbál
A: = StrToFloat ($ FF '); // hexadecimális értékek nem támogatott
kivéve
A kivétel. EConvertError do
ShowMessage (Exception.Message);
végén;
végén;

'10 E 2 „nem érvényes lebegőpontos értéket
„$ FF” nem egy érvényes lebegőpontos értéket