Zum Inhalt springen

Geld und Minor Units

In Ordo sind alle Geldbeträge Ganzzahlen in Minor Units: für TRY der Kuruş. Gleitkommazahlen (float/double) werden an keinem Endpunkt akzeptiert oder erzeugt.

{
"amountMinor": 1250000,
"currency": "TRY"
}

1250000 = 12.500,00 TL.

  • IEEE-754-Gleitkommaarithmetik akkumuliert Fehler bei finanziellen Summen (0.1 + 0.2 ≠ 0.3).
  • Ganzzahlarithmetik ist deterministisch; das ist Voraussetzung für die Replay-Fähigkeit des Ereignisjournals.
  • Rundungsregeln sind an einer einzigen Stelle definiert, in der Regel-Engine — sie sickern nicht in die Kanäle durch.
  1. Feldnamen enden auf das Suffix ...Minor: amountMinor, installmentMinor, balanceMinor.
  2. currency wird neben jedem Betrag mitgeführt (ISO 4217, derzeit TRY).
  3. Prozentsätze und Quoten werden als Dezimalzahl im String übertragen ("0.015"), nie als Float.
  4. Die Darstellung (Tausendertrennzeichen, Symbol) ist ausschließlich Sache des Clients; die API liefert keine lokalisierten Betragstexte.