FORMAT
Die Funktion FORMAT gibt Zahlgerundet und formatiert zurück.
Die Zahl wird nach REXX-Standardregeln zuerst gerundet, so als wäre die Operation number+0 ausgeführt worden. Das Ergebnis ist genau das dieser Operation, wenn Sie nur Zahlangeben. Wenn Sie andere Optionen angeben, wird die Zahl wie folgt formatiert.
Die Optionen before und after beschreiben, wie viele Zeichen für die Ganzzahl-bzw. Dezimalteile des Ergebnisses verwendet werden. Wenn Sie eine oder beide Zeichen weglassen, ist die Anzahl der Zeichen, die für diesen Teil verwendet werden, wie erforderlich.
Wenn before nicht groß genug ist, um den ganzzahligen Teil der Zahl zu enthalten (Pluszeichen für eine negative Zahl), tritt ein Fehler auf. Wenn before größer ist als für dieses Teil erforderlich, wird die Zahl links mit Leerzeichen aufgefüllt. Wenn after nicht dieselbe Größe wie der Dezimalteil der Zahl hat, wird die Zahl entsprechend gerundet (oder mit Nullen erweitert). Bei Angabe von 0 wird die Zahl auf eine ganze Zahl gerundet.
Beispiele
FORMAT('3',4) -> ' 3'
FORMAT('1.73',4,0) -> ' 2'
FORMAT('1.73',4,3) -> ' 1.730'
FORMAT('-.76',4,1) -> ' -0.8'
FORMAT('3.03',4) -> ' 3.03'
FORMAT(' - 12.73',,4) -> '-12.7300'
FORMAT(' - 12.73') -> '-12.73'
FORMAT('0.000') -> '0'
Die ersten drei Argumente sind wie zuvor beschrieben. Darüber hinaus steuern expp und expt den Exponententeil des Ergebnisses, der standardmäßig entsprechend den aktuellen NUMERIC-Einstellungen von DIGITS und FORM formatiert wird. Mit expp wird die Anzahl der Stellen für den Exponententeil festgelegt. Standardmäßig werden so viele Stellen wie erforderlich verwendet (dies kann null sein). expt legt den Auslöserpunkt für die Verwendung der Exponentialschreibweise fest. Der Standardwert ist die aktuelle Einstellung von NUMERIC DIGITS.
Wenn expp auf 0gesetzt ist, wird kein Exponent angegeben und die Zahl wird in einfachem Format mit nach Bedarf hinzugefügten Nullen ausgedrückt. Wenn expp nicht groß genug ist, um den Exponenten aufzunehmen, tritt ein Fehler auf.
Wenn die Anzahl der Stellen, die für den Integer-oder Dezimalteil erforderlich sind, expt oder zweimal exptüberschreitet, wird die Exponentialschreibweise verwendet. Wenn expt auf 0gesetzt ist, wird immer die exponentielle Notation verwendet, es sei denn, der Exponent wäre 0. (Wenn expp auf 0gesetzt ist, überschreibt dies den 0 -Wert expt.) Wenn der Exponent 0 wäre, wenn expp ungleich null angegeben wird, werden expp+ 2 Leerzeichen für den Exponententeil des Ergebnisses bereitgestellt. Wenn der Exponent 0 wäre und expp nicht angegeben wird, wird die einfache Form verwendet. Der Wert für expp muss kleiner als 10sein, aber die anderen Argumente sind nicht begrenzt.
FORMAT('12345.73',,,2,2) -> '1.234573E+04'
FORMAT('12345.73',,3,,0) -> '1.235E+4'
FORMAT('1.234573',,3,,0) -> '1.235'
FORMAT('12345.73',,,3,6) -> '12345.73'
FORMAT('1234567e5',,3,0) -> '123456700000.000'
