format-number
Konvertiert eine Zahl in einen String und formatiert ihn gemäß den definierten Optionen.

Sprachen
Built-in, C++, C#, Java, XSLT 1.0, XSLT 2.0, XSLT 3.0..
Parameter
Argument | Beschreibung |
---|---|
value | Obligatorisches Argument. Liefert die zu formatierende Zahl. |
format | Obligatorisches Argument. Liefert einen Formatierungsstring, der festlegt, wie die Zahl formatiert werden soll. Siehe Anmerkungen weiter unten. |
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-seperator | Optionales Argument. Liefert das Trennzeichen, das zur Trennung von Tausenderstellen verwendet werden soll. Der Standardwert ist das Komma ( , ). |
Anmerkung: Wenn die Ausgabe der Funktion (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 deaktiviert werden.
Anmerkungen
Das Argument format hat die folgende Form:
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 | Standardwert | 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 Promilwert an |
In der Tabelle unten finden Sie Beispiele für Formatierungsstrings und deren Ergebnis.
Anmerkung: Die für die Funktion format-number verwendete Rundungsmethode ist, Aufrunden ab der Hälfte, d.h. wenn der Wert hinter dem Komma größer 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 Programmcode 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 |
Beispiel
Im unten gezeigten Mapping werden Daten aus der XML-Quelldatei gelesen und in eine XML-Zieldatei geschrieben. Die Quellkomponente enthält mehrere SinglePrice-Elemente, die die folgenden Dezimalwerte enthalten: 25, 2.30, 34, 57.50. Das Mapping hat zwei Aufgaben:
1.Allen Werte links Nullen voranstellen, so dass der wichtige Teil genau 5 Stellen hat.
2.Allen Werte rechts Nullen hinzufügen, so dass der Kommastellenteil genau 2 Stellen hat.
Zu diesem Zweck wurde der Formatierungsstring 00000.00 als Argument für die Funktion format-number bereitgestellt.

PreserveFormatting.mfd
Die Werte in der Zielkomponente wurden folglich zu:
00025.00
00002.30
00034.00
00057.50
Sie finden die Mapping-Design-Datei unter dem folgenden Pfad: <Dokumente>\Altova\MapForce2025\MapForceExamples\PreserveFormatting.mfd.