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:
  1. Für Zahlen vom Typ MONEY verwendet EGL die Variable 'strLib.defaultMoneyFormat' zum Formatieren des Werts.
  2. Für alle anderen Typen mit Ausnahme von Gleitkommatypen verwendet EGL die Variable 'strLib.defaultNumericFormat' zum Formatieren des Werts.
  3. 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 Erstellungsdeskriptoroption 'decimalSymbol' ein.
    • Zahlen des Typs MONEY schließen den Wert der Erstellungsdeskriptoroption 'currencySymbol' an der Position ein, die von der Erstellungsdeskriptoroption 'currencyLocation' angegeben wird.
    • Gleitkommazahlen können in der Exponentialschreibweise geschrieben werden.
  4. Wenn EGL eine Formatierzeichenfolge findet, diese jedoch nicht zum Verarbeiten der angegebenen Zahl verwenden kann, ist das Ergebnis eine Zeichenfolge aus Sternen (*).
Weitere Informationen zu den Standardformatvariablen finden Sie unter defaultMoneyFormat (EGL-Systemvariable) und defaultNumericFormat (EGL-Systemvariable). Weitere Informationen zu den Erstellungsdeskriptoroptionen finden Sie in den folgenden Themen:
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

Tabelle 1. Hinweise zur Kompatibilität für 'formatNumber()'
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.

Feedback