Zahl formatieren
Wertauflöser - Kurzfassung
Zweck: Erzeugt ausgehend von einem numerischen Eingabewert eine Zeichenfolge mit der durch die Parameter definierten Formatierung.
Der Zahl formatieren-Wertauflöser erzeugt ausgehend von einem numerischen Eingabewert eine Zeichenfolge mit der durch die Parameter definierten Formatierung.
Liegt kein Wert ($null) als Eingabewert vor, wird kein Wert ($null) zurückgegeben.
Ist der Eingabewert nicht-leer (nicht $null), aber nicht-numerisch dann tritt einer Fehler auf (IllegalArgumentException).
►ACHTUNG◄ Eine "Zahl mit Einheit" gilt nicht als numerischer Eingabewert. Nur das enthaltene Feld "Wert" (value)eignet sich als direkter Eingabewert für den .Zahl formatieren v4.12.0-Wertauflöser. Das Beispiel unten zeigt, wie der Wertauflöser verwendet werden kann, um eine "Zahl mit Einheit" zu formatieren.
Konfiguration
Der Zahl formatieren-Wertauflöser erwartet einen numerischen Eingabewert und gibt eine Zeichenfolge (oder $null) zurück.
Für die Definition des gewünschten Zahlenformats werden folgende Parameter angeboten:
Parameter |
Standardwert |
Effekt |
Beispiele |
Erzwinge Vorzeichen |
abgewählt |
Wird die Option ausgewählt, dann erscheint das Plus-Symbol (+) in Verbindung mit Werten, die >=0 sind. |
+123 |
Verwende Tausendertrennzeichen |
abgewählt |
Ist die Option ausgewählt, dann erscheinen die Ganzzahlstellen im Rückgabewert in Gruppen á 3 Ziffern separiert durch das anwendbare Tausendertrennzeichen. Die Sprachverwaltung definiert per Bundle/Resource lobsterui/thousandsSeparator das für die Aktuelle Sprache anwendbare Tausendtrennzeichen, das für die Firma der Session durch Firmenspezifische Sprachanpassungen übersteuert sein kann. |
12.345.678,98765 |
Ganzzahlstellen |
1 |
Definiert die Mindestanzahl der angezeigten Ziffern für den ganzzahligen Teil des Rückgabewerts. Vom Eingabewert nicht besetzte Positionen werden mit der Ziffer 0 "aufgefüllt".
►HINWEIS◄ Die angegebene Anzahl Ganzzahlstellen wirkt nicht limitierend. Es werden immer alle Ziffern ausgegeben, die erforderlich sind, um die Ganzzahlkomponente des Eingabewerts wiederzugeben. |
03046001.234,56700,12-0,36,12-,36 |
Genauigkeit |
2 |
Ganzzahlen >-1 definieren die Anzahl der als Dezimalen anzuzeigenden Ziffern.
Die Beispiele rechts zeigen die Rückgabewerte für den Eingabewert 0,5196 mit aufsteigender Genauigkeit (in Klammern). ►ACHTUNG◄ Für die Behandlung Mittelpunktwerten (z. B. 0,5195 zwischen 0,520 und 0,19) ist unter Umständen deren Datentyp entscheidend. Grundsätzlich verwendet die Rundung das HALF_EVEN-Prinzip, so dass jeder Mittelpunktwert zur geradzahligen Endziffer hin gerundet wird. Wenn man den Eingabewert 0,5195 über einen Kommazahl-Wertauflöser erzeugt, wird ein Double-Wert generiert, der diesem Wert sehr nahe kommt, aber trotz des hohen Auflösungsvermögens (durch die doppelte Anzahl Bits) beim Runden nicht als Mittelpunktwert gilt. Daher lautet für den Eingabewert 0,5195 (Double) mit einer Genauigkeit von 3 die Ausgabe "0,519" während die Formatierung den Wert "0,520" liefert, wenn der Double-Wert noch vorab per Eingabeobjekt (Typsicher)-Wertauflöser in den Datentyp Big Decimal konvertiert wird. Ein Eingabewert von 0,5205 ergibt unabhängig vom Datentyp (Double, Big Decimal) nach der HALF_EVEN-Logik die Ausgabe "0,520". |
0,5196 → 1 (0)0,5196 → 0,5 (1)0,5196 → 0,52 (2)0,5196 → 0,520 (3)0,5196 → 0,5196 (4)0,5196 → 0,51960 (5) |
Beispiele
In den folgenden Beispielen wird der Zahl formatieren-Wertauflöser jeweils eingesetzt, um einen statisch definierten Eingabewert in ein bestimmtes Zielformat umzuwandeln.
Die linke Spalte ("Konfiguration") zeigt jeweils die Konfiguration für die Meldung innerhalb einer Hinweis anzeigen (Popup)-Ereignisaktion. die rechte Spalte ("Ergebnis") zeigt die Ausgabe als "Alert".
Konfiguration |
Ergebnis |
|
Dem Parameter Ganzzahlstellen wird hier der Wert 3 zugeordnet, um ausgehend von einem ganzzahligen Eingabewert eine Textausgabe mit mindestens drei Ziffern zu erzeugen. Im konkreten Anwendungsfall soll die numerische Kennung einen bestimmten "Mitarbeiter" identifizieren. Die "Vornullen" sichern in diesem Kontext ab, dass eine Sortierung (nach dem formatierten Textwert) dieselbe Reihenfolge ergibt, wie eine Sortierung anhand der zugrundliegenden Zahlenwerte (also "007" vor "010", während bei einer Textsortierung "10" vor "7" einordnen würde). ►HINWEIS◄ Die Nummern von Mitarbeitern mit mehr als drei Ziffern (>999) würden mit der hier demonstrierten Formatierung vollständig (mit allen Ziffern) angezeigt. |
|
Das Kaliber von Handfeuerwaffen wird häufig in Zoll angegeben, wobei es selten um Kaliber von mehr als einem halben Zoll, aber dafür aus naheliegenden Gründen um relativ hohe Präzision beim Durchmesser geht. Daher sind Angaben in hundertstel oder tausendstel Zoll üblich, die typischerweise ohne die sonst übliche Null vor dem Komma angegeben werden. Die Konfiguration demonstriert die Formatierung für die entsprechende Schreibweise:
►ANMERKUNG◄ Mit Rücksicht auf den angelsächsischen Bezug zur Maßeinheit Zoll würde in der Regel eher Punkt anstelle des Kommas als Dezimaltrenner erwartet. Hier stößt der Zahl formatieren-Wertauflöser an Grenzen, da er den Dezimaltrenner grundsätzlich für die Aktuelle Sprache aus der Sprachverwaltung bzw. Firmenspezifische Sprachanpassungen (per Bundle/Resource lobsterui/decimalSeparator) bezieht. |
|
Die Konfiguration links zeigt eine typische Formatierung für Zahlenwerte, die Geldbeträge betreffen, für die das Vorzeichen eine wesentliche Information darstellt, wie Zuschläge/Abschläge oder (hier) ein Betriebsergebnis, das positiv oder negativ sein kann:
|
|
Die Formatierung aus dem vorigen Beispiel soll nun verwendet werden, um die Kenngröße EBITDA als Ergebnis einer Berechnung (per Berechne Wert-Wertauflöser) zu formatieren, wobei die im Berechnungsergebnis enthaltene "Einheit" (unit) angegeben werden soll. Der Berechne Wert-Wertauflöser liefert das Ergebnis der Addition (EBIT+DEP+AMO) als Wert des Datentyps "Zahl mit Einheit", also einem Objekt, das einerseits einen Zahlenwert im Feld "Wert" (value) und andererseits einen Verweis auf eine Maßeinheit im Feld "Einheit" (unit) angibt. Im vorliegenden Beispiel entstammt die Einheit "EUR" sehr wahrscheinlich der Dynamischen Aufzählung Währung.
|