Formatzeichenfolgen für Zahlen

Formatzeichenfolgen für Zahlen

Formatzeichenfolgen werden als Vorlagen für die Umwandlung einer Zeichenfolge in eine Zahl und für die Umwandlung einer Zahl in eine Zeichenfolge verwendet. Die folgenden Elemente können in der Formatzeichenfolge fmt kombiniert werden und zum Generieren einer Zeichenfolge aus einer Zahl NumberToString oder einer Zahl aus einer Zeichenfolge StringToNumber verwendet werden.

Element Wert
9 Jede 9 stellt eine signifikante Ziffer dar, die angezeigt werden soll. Führende Nullen werden in Form von Leerstellen angezeigt bzw. wie Leerstellen behandelt. Sie müssen über ausreichend signifikante Ziffern verfügen, um Ihren Daten zu entsprechen. Beispiel: Wenn Ihre Daten bis zu fünf Ziffern umfassen, dann muss die Formatzeichenfolge mindestens fünf signifikante Ziffern aufweisen.
0 Jede 0 stellt eine signifikante Ziffer dar. Führende Nullen werden in Form von Nullen angezeigt bzw. wie Nullen behandelt.
$ Präfix: Setzt ein $ (Dollarzeichen) vor die Zahl. Unter dem Element L finden Sie weitere Währungszeichen.
, (Komma) Stellt ein Komma in der numerischen Zeichenfolge dar. Das Komma wird immer als Gruppentrennzeichen interpretiert. Unter dem Element G finden Sie weitere Gruppentrennzeichen.
. (Punkt) Stellt ein Dezimalkomma in der numerischen Zeichenfolge dar. Unter dem Element D finden Sie weitere Dezimalzeichen.
MI Suffix: Setzt ein Minuszeichen hinter die Zahl, wenn es sich um eine negative Zahl handelt, oder ein Leerzeichen, wenn es sich um eine positive Zahl handelt.
S Präfix oder Suffix: Setzt ein Pluszeichen (+) vor eine positive Zahl und ein Minuszeichen (-) vor eine negative Zahl.
D Gibt die Position des Dezimalkommas an. Alle Formatelemente links von D formatieren die ganzzahlige Komponente des Wertes. Alle Formatelemente rechts von D formatieren den Bruchteil des Wertes. Die Bestimmung des Zeichens, das für die Darstellung des Dezimalzeichens verwendet wird, ist plattformspezifisch. Bei MapInfo.NET wird dieser Wert durch die Einstellung „Kultur“ des aktuellen Threads bestimmt. Bei Spatialware oder Envinsa wird dieser Wert durch die Datenbank bestimmt (höchstwahrscheinlich ein Initialisierungsparameter).
G Gibt die Position des Gruppentrennzeichens an (z. B. der Punkt als Tausendertrennzeichen bei 6.234). Wie beim Dezimalzeichen D ist die Bestimmung des Zeichens, das für die Darstellung des Gruppenzeichens verwendet wird, plattformspezifisch.
L Gibt die Position des aktuellen Währungssymbols (z. B. „$“) an. Wie beim Dezimalzeichen D ist die Bestimmung des Zeichens, das für die Darstellung des Gruppenzeichens verwendet wird, plattformspezifisch.

E

E-

E+

Gibt an, dass bei der Zahl die wissenschaftliche Schreibweise verwendet wird. Vorkommen von 9 oder 0 hinter dem Element E werden als Exponentenformatzeichen interpretiert. Hinter dem Element E können keine Vorkommen von Dezimalkommas oder Gruppierungen erscheinen. Direkt hinter dem Element E kann optional ein Pluszeichen (+) oder ein Minuszeichen (-) stehen. Wenn hinter dem Element E explizit ein Pluszeichen (+) oder ein Minuszeichen (-) angegeben ist, schließt ein positiver Exponent insbesondere das Pluszeichen (+) ein und ein negativer Exponent zeigt ein Minuszeichen (-) an. Wenn hinter dem Element E kein Zeichen angegeben ist und der Exponent negativ ist, wird das Minuszeichen an der ersten Position hinter dem Element E angezeigt. Daher muss die Anzahl der hinter dem Element E stehenden Elemente 9 oder 0 groß genug sein, dass ein Minuszeichen untergebracht werden kann, wenn erwartet wird, dass der Exponent negativ ist (andernfalls tritt ein Überlauf auf).

Beispiele mit Formatzeichenfolgen für Zahlen

Die folgenden Beispiele veranschaulichen die Verwendung der Zahlenformatelemente zum Formatieren einer Zahl oder zum Parsen einer Zeichenfolge. Ergebnisse werden zur Angabe vorhandener Leerstellen (Leerzeichen) im Ergebnis in Anführungszeichen angezeigt. Die Anführungszeichen selbst sind nicht Bestandteil des Ergebnisses.


  NumberToString(123.4567, '999999.99')     : '   123.46'
  NumberToString(123.4567, '099999.99')     : '000123.46'
  NumberToString(1234567, '99,999,999')     : ' 1,234,567'
  NumberToString(1234567, '9,999,999,999')  : '    1,234,567'
  NumberToString(1234567, '0,999,999,999')  : '0,001,234,567'
  NumberToString(123.4567, '0.9999E99')     : '1.2346E 2'
  NumberToString(123.4567, '0.9999E09')     : '1.2346E02'
  NumberToString(123.4567, '0.9999E+09')    : '1.2346E+02'
  NumberToString(12.345, '9.99')            : '#.##'
  StringToNumber('123456', '99999')         : Error
  StringToNumber(' 123.456', '9999.999')    : 123.456
  StringToNumber(' 123.456-', '9999.999')   : Error
  StringToNumber(' 123.456-', '9999.999MI') : -123.456
  StringToNumber('1,234.56', '999,999.99')  : 1234.56
  StringToNumber('1,234.56', '999,999.9')   : 1234.5