formatNumber()
Die Systemfunktion 'strLib.formatNumber()' gibt eine Zahl als formatierte Zeichenfolge zurück.
Weitere Informationen zu Erstellen einer Formatierzeichenfolge finden Sie unter Symbole für numerische Formate .
Syntax
strLib.formatNumber(
Wert SMALLINT? | INT? | BIGINT? | DECIMAL? |
MONEY? | SMALLFLOAT? | FLOAT? in
[ , numerisches_Format STRING? in] )
returns (Ergebnis STRING?)
- Wert
- Der zu formatierende Wert, der mit einem der angegebenen Typen zuordnungskompatibel ist.
- numerisches_Format
- Eine Zeichenfolge, die definiert, wie die Zahl formatiert wird. Wenn numerisches_Format null, leer oder nicht angegeben ist, gelten
die folgenden Regeln:
- Für Zahlen vom Typ MONEY verwendet EGL die Variable 'strLib.defaultMoneyFormat' zum Formatieren des Werts.
- Für alle anderen Typen mit Ausnahme von Gleitkommatypen verwendet EGL die Variable 'strLib.defaultNumericFormat' zum Formatieren des Werts.
- Ist die Standardformatierzeichenfolge leer oder hat die Zahl einen Gleitkommatyp, formatiert EGL den Wert als Zeichenfolge aus Ziffern ohne Interpunktion, wobei
folgende Ausnahmen gelten:
- Negative Zahlen haben ein Vorzeichen.
- Zahlen mit Stellen nach dem Dezimaltrennzeichen schließen den Wert der Builddeskriptoroption 'decimalSymbol' ein.
- Zahlen des Typs MONEY schließen den Wert der Builddeskriptoroption 'currencySymbol' an der Position ein, die von der Builddeskriptoroption 'currencyLocation' angegeben wird.
- Gleitkommazahlen können in der Exponentialschreibweise geschrieben werden.
- Wenn EGL eine Formatierzeichenfolge findet, diese jedoch nicht zum Verarbeiten der angegebenen Zahl verwenden kann, ist das Ergebnis eine Zeichenfolge aus Sternen (*).
- Ergebnis
- Ein Zeichenfolgewert (STRING). Wenn Wert null ist, gibt die Funktion einen Nullwert zurück.
Beispiel
Das folgende Beispiel zeigt eine Dezimalzahl (DECIMAL), die zum Drucken auf einem Gehaltsscheck formatiert ist:
myNum DECIMAL(9,2) = -27459.01;
myFormat STRING = "(*,***,###.##)";
result STRING;
result = strLib.formatNumber(myNum,myFormat);
// Das Ergebnis lautet (***27,459.01)
Kompatibilität
| Plattform | Problem |
|---|---|
| COBOL-Generierung | Beim Formatieren von Gleitkommazahlen kann kein Format angegeben werden. Wenn Sie die Funktion mit einem zweiten Parameter aufrufen, erhalten Sie einen Gültigkeitsfehler. |
| JavaScript-Generierung | Die Funktion 'strLib.formatNumber()' wird nicht unterstützt. |