FloatToValue linia 84, TSInfoUtils.pp

class function FloatToValue(AFloat: Double; AFormat: TFormatFloat; ASettings: TFormatSettings): String;

Metoda konwertująca liczbę zmiennoprzecinkową na łańcuch znaków.

parametry
AFloat liczba zmiennoprzecinkowa do konwersji na łańcuch znaków
AFormat format liczby zmiennoprzecinkowej w postaci ciągu znaków
ASettings rekord zawierający informacje, określające sposób formatowania łańcuchów znaków
wartość zwracana
String łańcuch znaków, zawierający przekonwertowaną liczbę zmiennoprzecinkową

Służy do konwersji liczby zmiennoprzecinkowej, podanej w argumencie AFloat na łańcuch znaków, zawierający liczbę w formacie określonym przez parametr AFormat typu TFormatFloat. Metoda do konwersji wykorzystuje argument ASettings, z którego pobiera m.in. znak separatora dziesiętnego.

Argument AFormat zawiera informację o sposobie zapisu zapisu liczby zmiennoprzecinkowej jako łańcucha znaków.

format wartości po konwersji
liczby dodatniej: 1009,1989 liczby 0.0 liczby ujemnej: -1009,1989
ffUnsignedGeneral '1009,1989' '0' '-1009,1989'
ffSignedGeneral '+1009,1989'
ffUnsignedExponent '1,00919890000000E+0003' '0,00000000000000E+0000' '-1,00919890000000E+0003'
ffSignedExponent '+1,00919890000000E+0003'
ffUnsignedNumber '1 009,1989000000' '0,0000000000' '-1 009,1989000000'
ffSignedNumber '+1 009,1989000000'

W przypadku formatów ffUnsignedNumber oraz ffSignedNumber, liczba cyfr po przecinku jest stała (dziesięć cyfr), a dodatkowo do łańcucha wyjściowego wstawiany jest także w razie potrzeby aktualny znak separatora tysięcznego, znajdującego się w polu ThousandSeparator rekordu AFormatSettings.

Metoda sprawdza także, czy podana liczba zawiera tekstowy odpowiednik nieskończoności dodatniej, ujemnej lub nie-liczby.

wartość tekstowy odpowiednik stała określająca odpowiednik
nieskończoność dodatnia bez znaku 'Inf' UNSIGNED_INFINITY_VALUE
nieskończoność dodatnia ze znakiem '+Inf' SIGNED_INFINITY_VALUE
nieskończoność ujemna '-Inf' NEGATIVE_INFINITY_VALUE
nie-liczba 'Nan' NOT_A_NUMBER_VALUE

Wykorzystywana jest przez przeładowane metody WriteFloat, w procesie zapisu liczby zmiennoprzecinkowej jako wartości atrybutu.

zobacz też:

copyright © furious programming 2013—2018