Kommazahl

Wertauflöser - Kurzfassung

  • Zweck: Definiert einen statischen Zahlenwert, der entweder als Integer- oder als Double-Wert ausgegeben wird.

images/download/attachments/128387156/image2023-1-12_14-27-8-version-1-modificationdate-1676010882598-api-v2.png

WICHTIG◄ Alle Wertauflöser für Statische Werte ignorieren den Eingabewert. Innerhalb einer Wertauflöserkette (s. Verketteter Wertauflöser) bewirkt dies, dass alle oberhalb angeordneten Wertauflöser nicht ausgeführt werden.

Der Kommazahl-Wertauflöser liefert einen statisch definierten Zahlenwert, der abhängig vom eingegebenen Zahlenwert entweder als Integer-Wert oder als Double-Wert behandelt wird.

  • Ganzzahlen im Wertebereich -2147483648 bis 2147483647 werden als Integer-Wert zurückgegeben.

  • Nicht ganzzahlige Werte und Ganzzahlen außerhalb des Integer-Wertebereichs werden als Double zurückgegeben.

Für den Kontext der Konfiguration wird für den Rückgabewert der übergeordnete Datentyp "Zahl" (Number) deklariert.

HINWEIS◄ Konkrete Rückgabewerte sind trotzdem immer entweder Double oder Integer, bestehen aber auch eine Typprüfung gegen den Typ Number.

►WICHTIG◄ Anwendbarer Dezimaltrenner hängt von Browsereinstellungen ab


Anders als in Lobster Data Platform / Orchestration sonst üblich wird der anwendbare Dezimaltrenner für den Kommazahl-Wertauflöser nicht als Lokalisierung für die Aktuelle Sprache ([lobsterui,decimalSeparator]) über die Sprachverwaltung oder anwendbare Firmenspezifische Sprachanpassungen bestimmt. Stattdessen ist für die Eingabe von Dezimalzahlen im Kommazahl-Wertauflöser der browserseitig anwendbare Dezimaltrenner (ggf. mit Bezug zum Client-Betriebssystem) ausschlaggebend.

Konfiguration

Der Wert im Eingabefeld kann wahlweise durch Direkteingabe, Einfügen aus der Zwischenablage oder über die Stepper-Funktionalität verändert werden.

  • Die Direkteingabe akzeptiert nur Ziffern, den anwendbaren Dezimaltrenner (s. o.) und optional ein vorangestelltes Minuszeichen als Eingabe.

    • Da nach jedem Tastendruck eine Validierung erfolgt, können durch die Eingabe eines an der betreffenden Position unerwünschten Zeichens bisherige Eingaben verloren gehen.

    • Solange das Textfeld eine invalide Eingabe enthält, die durch einen roten Rahmen gekennzeichnet wird, sind weitere Eingaben oder Anpassungen an der bisher eingegebenen Zeichenfolge möglich.

    • Ist die Eingabe noch invalide, wenn die Konfiguration gespeichert wird, wird anstelle der Eingabe der Double-Fehlerwert NaN (en: not a number) persistiert.

  • Beim Einfügen aus der Zwischenablage wird die nach dem Einfügen im Eingabefeld enthaltene Zeichenfolge insgesamt validiert.

    • Dabei werden sowohl der Punkt (.) als auch das Komma (,) als Dezimaltrenner gewertet, wenn genau eines dieser Zeichen genau einmal vorkommt.
      WICHTIG◄ Tausendertrennzeichen sollte ein aus der Zwischenablage eingefügter Text deshalb nie enthalten. Sie werden entweder fälschlich als Dezimaltrenner interpretiert oder verhindern die Validierung als Zahl komplett.

    • Im Unterschied zur zeichenweisen Direkteingabe wird beim Einfügen ggf. auch die Exponentialschreibweise (z. B. -2.5e-3 für -0.0025) unterstützt.

    • Kann die aktualisierte Zeichenfolge nicht validiert werden, kennzeichnet dies ein roter Rahmen um das Eingabefeld.

  • Die Stepper-Funktionalität ermöglicht schrittweise Änderungen eines bestehenden Werts in Schritten von ±1.
    images/s/-95e2zf/9012/8yg2g7/_/images/icons/emoticons/warning.svg ACHTUNGimages/s/-95e2zf/9012/8yg2g7/_/images/icons/emoticons/warning.svg Der Stepper verarbeitet nur die Ganzzahl-Komponente des Ausgangswerts. Soweit der Ausgangswert Dezimalen enthält, werden diese ignoriert. Dezimalen gehen ohne jegliche Rundung "verloren". Das Ergebnis ist immer ganzzahlig.

    • Der bestehende Wert kann per Klick auf die auf/ab-Buttons rechts im Textfeld schrittweise erhöht/verringert werden.

    • Alternativ können auch die Cursor-Tasten (auf/ab) oder ggf. das Mausrad für denselben Effekt genutzt werden, solange das Eingabefeld den Fokus hat.

Beispiel

Im Kontext einer Ereignisbehandlung soll für eine in einer Variable budget als "Zahl mit Einheit" vorliegende Angabe um einen prozentualen Aufschlag erhöht werden.

Im Regelfall soll ein spezifischer "Sicherheitszuschlag" als Double-Wert über eine weitere Variable (contingency) definiert sein. Für den Fall, dass diese Variable keinen Wert enthält, soll ein Standard-Aufschlag von 25% (als Kommazahl: 0,25) greifen.

Konfiguration:

Die rechts abgebildete Setze Wert-Ereignisaktion skaliert den Wert der Variablen budget nach der Formel:

budget := budget*(1+markUp)

Dabei wird angenommen, dass die Variable budget bereits eine "Zahl mit Einheit" enthält.

Auf der rechten Seite der Zuweisung wird ein Berechne Wert-Wertauflöser verwendet, der die rechte Seite dieser Formel definiert:

  • Als Wert für die nur im Berechnungsausdruck geltende Variable markUp wird dabei entweder der in der Variable contingency angegebene Sicherheitszuschlag verwendet, oder - falls diese Variable "Kein Wert" ($null) liefert - der Standard-Aufschlag von 25%.

  • Im verketteten Standardwert-Wertauflöser kommt dabei für den Parameter Standardwert der Kommazahl-Wertauflöser zum Einsatz, über den der Standard-Aufschlag als Wert 0,25 statisch festgelegt werden kann.

images/download/attachments/128387156/image2023-1-13_10-29-19-version-1-modificationdate-1676010882596-api-v2.png