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.
Warum Ganzzahlen?
Abschnitt betitelt „Warum Ganzzahlen?“- 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.
- Feldnamen enden auf das Suffix
...Minor:amountMinor,installmentMinor,balanceMinor. currencywird neben jedem Betrag mitgeführt (ISO 4217, derzeitTRY).- Prozentsätze und Quoten werden als Dezimalzahl im String übertragen (
"0.015"), nie als Float. - Die Darstellung (Tausendertrennzeichen, Symbol) ist ausschließlich Sache des Clients; die API liefert keine lokalisierten Betragstexte.