Altova MapForce 2024 Basic Edition

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

mf-func-format-number

 

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.

mf_map_PreserveFormatting

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\MapForce2024\MapForceExamples\PreserveFormatting.mfd.

© 2017-2023 Altova GmbH