format-number

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Funktionen > Referenz Funktionsbibliothek > core | conversion functions (Konvertierungsfunktionen) >

format-number

Konvertiert eine Zahl in einen String. Steht für XSLT 1.0, XSLT 2.0, Java, C#, C++ und den Built-In-Ausführungsprozessor zur Verfügung.

fn-format-number

Argument

Beschreibung

value

Obligatorisches Argument. Liefert die zu formatierende Zahl

format

Obligatorisches Argument. Liefert einen Formatierungsstring, der festlegt, wie die Zahl formatiert werden soll. Dieses Argument wird auf dieselbe Art, wie das Argument format in der Funktion format-dateTime verwendet.

decimal-point-format

Optionales Argument. Liefert das Zeichen, das für das Dezimalzeichen, also im Deutschen das Komma, verwendet wird. Der Standardwert ist der Punkt '.'

grouping-separator

Optionales Argument. Liefert das Trennzeichen, das zur Trennung von Tausenderstellen verwendet werden soll. Der Standardwert ist das Kommazeichen ",".

 

Anmerkung:

Wenn die Ausgabe der Funktion (also result) mit einem Node verbunden ist, dessen Typ nicht "string" ist, kann die Formatierung verloren gehen, da der Wert in den Zieltyp konvertiert wird. Diese automatische Konvertierung kann durch Deaktivieren des Kontrollkästchens "Zielwerte in Zieltypen konvertieren" in den Komponenteneinstellungen der Zielkomponente abgeschaltet werden.

 

Format:

 

format := subformat (;subformat)?

 subformat := (prefix)? integer (.fraction)? (suffix)?

 prefix := any characters except special characters

 suffix := any characters except special characters

 integer := (#)* (0)* ( allowing ',' to appear)

 fraction := (0)* (#)* (allowing ',' to appear)

 

Das erste subformat dient zum Formatieren positiver Zahlen, das zweite zum Formatieren negativer Zahlen. Wenn nur ein subformat definiert ist, so wird dasselbe Unterformat auch für negative Zahlen verwendet, wobei aber vor dem prefix ein Minuszeichen steht.

 

Sonderzeichen

Standard

Beschreibung

zero-digit

0

Eine Stelle, die immer an dieser Stelle im Ergebnis angezeigt wird

digit

#

An dieser Stelle erscheint im Ergebnisstring eine Ziffer, es sei denn es handelt sich um eine nicht benötigte vorangestellte oder nachgestellte Null.

decimal-point

.

Trennt den Ganzzahlenbereich in der Zahl von den Kommastellen.

grouping-seperator

,

Trennt Zifferngruppen (Tausender-Trennzeichen).

percent-sign

%

Multipliziert die Zahl mit 100 und zeigt sie als Prozentwert an

per-mille

Multipliziert die Zahl mit 1000 und zeigt Sie als Promille an

 

Die Zeichen, die als Dezimalpunktzeichen und als Tausender-Trennzeichen verwendet werden, sind immer die Zeichen "." bzw. ",". Durch Mappen von Konstanten auf diese Nodes kann dies allerdings in der formatierten Ausgabe geändert werden.

fn-form-nr

 

Das Ergebnis oben gezeigten Zahlenformatierungsfunktion.

Der Dezimalpunkt wird in ein "+" Zeichen geändert.
Das Tausender-Trennzeichen wurde in ein "-" Zeichen geändert.

 

fn-form-nr2

 

Rundung

Die für diese Funktion verwendete Rundungsmethode ist, Aufrunden ab der Hälfte, d.h. wenn der Wert hinter dem Komma > oder gleich, 0,5 ist, so wird aufgerundet. Wenn der Wert hinter dem Komma kleiner als 0,5 ist, wird abgerundet. Diese Rundungsmethode gilt nur für generierten Code und für den Built-in-Ausführungsprozessor.

 

In XSLT 1.0 ist die Rundungsmethode nicht definiert.

 

In XSLT 2.0 ist die Rundungsmethod die mathematisch unverzerrte Rundung (half-to-even), also die Auf- oder Abrundung auf die nächste gerade Ziffer.

 

Zahl

Formatierungsstring

Ergebnis

1234.5

#,##0.00

1,234.50

123.456

#,##0.00

123.46

1000000

#,##0.00

1,000,000.00

-59

#,##0.00

-59.00

1234

###0.0###

1234.0

1234.5

###0.0###

1234.5

.00025

###0.0###

0.0003

.00035

###0.0###

0.0004

0.25

#00%

25%

0.736

#00%

74%

1

#00%

100%

-42

#00%

-4200%

-3.12

#.00;(#.00)

(3.12)

-3.12

#.00;#.00CR

3.12CR

 


© 2019 Altova GmbH