System.AnsiStringBase.FloatToStrF

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

C++

static AnsiStringBase FloatToStrF(long double value,
                                             TStringFloatFormat format,
                                             int precision, int digits,
                                             int codePage);

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
function public dstring.h System AnsiStringBase

Beschreibung

Gibt die String-Darstellung eines Gleitkommawerts zurück.

Über den Parameter format wird das Format des resultierenden Strings gesteuert. Der Parameter precision legt die Genauigkeit des angegebenen Wertes fest. Sie sollte bei Werten des Typs float bis zu 7, bei Werten des Typs double bis zu 15 und bei Werten des Typs extended bis zu 18 Stellen betragen. Die Bedeutung des Parameters digits hängt vom gewählten Format ab.

Die möglichen Werte des Parameters format und deren Bedeutung sind unten beschrieben.



Wert Bedeutung

sffGeneral

Allgemeines Zahlenformat. Der Wert wird unter Verwendung des Formats Fest oder Wissenschaftliche Notation in den kürzestmöglichen Dezimal-String umgewandelt. Nachfolgende Nullen werden aus dem resultierenden String entfernt. Ein Dezimaltrennzeichen wird nur bei Bedarf angezeigt. Für den resultierenden String wird das Festkommaformat verwendet, wenn die Anzahl der Stellen vor dem Dezimaltrennzeichen kleiner oder gleich der festgelegten Genauigkeit und der Wert größer oder gleich 0,00001 ist. Andernfalls wird für den resultierenden String das wissenschaftliche Format benutzt, und der Parameter digits legt die minimale Anzahl von Stellen im Exponenten fest (zwischen 0 und 4).

sffExponent

Wissenschaftliches Format. Der Wert wird in einen String der folgenden Form umgewandelt: "-d.ddd...E+dddd". Der resultierende String beginnt mit einem Minuszeichen, wenn es sich um eine negative Zahl handelt. Vor dem Dezimaltrennzeichen steht immer eine Ziffer. Die Gesamtzahl der Stellen im resultierenden String (einschließlich der Ziffer vor dem Dezimalkomma) wird durch den Parameter Precision festgelegt. Auf den Exponenten "E" im resultierenden String folgen immer ein Plus- oder Minuszeichen und bis zu vier Stellen. Der Parameter digits legt die minimale Anzahl von Stellen im Exponenten fest (zwischen 0 und 4).

sffFixed

Festkommaformat. Der Wert wird in einen String der folgenden Form umgewandelt: "-ddd.ddd...". Der resultierende String beginnt mit einem Minuszeichen, wenn es sich um eine negative Zahl handelt. Vor dem Dezimaltrennzeichen steht immer mindestens eine Ziffer. Die Anzahl der Stellen nach dem Dezimalzeichen wird über den Parameter digits angegeben. Es muss sich dabei um eine Zahl zwischen 0 und 18 handeln. Ist die Anzahl der Stellen links vom Dezimalzeichen größer als die angegebene Genauigkeit, wird für den resultierenden Wert das wissenschaftliche Format verwendet.

sffNumber

Zahlenformat. Der Wert wird in einen String der folgenden Form umgewandelt: "-d,ddd,ddd.ddd...". Das Format sffNumber entspricht dem Format sffFixed, allerdings enthält der resultierende String Tausendertrennzeichen.

sffCurrency

Währungsformat. Der Wert wird in einen String umgewandelt, der einen Währungsbetrag darstellt. Die Konvertierung wird über die globalen Variablen CurrencyString, CurrencyFormat, NegCurrFormat, ThousandSeparator und DecimalSeparator gesteuert. Diese Variablen werden mit den Einstellungen initialisiert, die in der Windows-Systemsteuerung auf dem Register Währung der Ländereinstellungen enthalten sind. Die Anzahl der Stellen nach dem Dezimaltrennzeichen wird im Parameter Digits angegeben. Möglich sind Werte zwischen 0 und 18.



Bei allen Formaten wird das Zeichen für das Dezimal- bzw. das Tausendertrennzeichen aus den globalen Variablen DecimalSeparator und ThousandSeparator ermittelt.

Wird ein NAN-Wert an FloatToStrF übergeben, enthält der zurückgegebene String den Wert 'NAN'. Wenn es sich bei dem gegebenen Wert um einen positiven unendlichen Wert handelt, lautet der resultierende String 'INF'. Ist der gegebene Wert negativ unendlich, lautet der resultierende String '-INF'.