Sono a conoscenza di alcune buone opzioni :
-
I grandi interi (es. int64_t, mpz_t, qualsiasi bignum lib ) per rappresentare i centesimi o 10 -n centesimi, un intero rappresenta 1/100 di un centesimo ($ 1,05 == 10500). Questo è chiamato numero intero scalato .
-
Libreria di alto livello per aritmetica decimale di precisione arbitraria come BigDecimal in Java, Decimal in Python, decimal.js in Javascript, boost :: multiprecision in C ++
-
Stringhe.
-
I BCD compressi (decimali in codice binario) sono un metodo più esoterica che sembrava popolare nei vecchi software. Leggi more a proposito it.
Nel codice di produzione per le banche (o carte di credito, bancomat, sistemi POS), quale tipo di dati viene effettivamente utilizzato di più? In particolare, chiedo a coloro che hanno lavorato per le banche.
EDIT: link super utili per quelli con lo stesso dominio problematico (che devono implementare una struttura dati "in denaro" che non si rompa).
MODIFICA per il tizio che ha detto che si tratta di una domanda duplicata : questa è una questione pratica e non teorica di "qual è il migliore". Leggi il titolo inedito della mia domanda. Sto chiedendo che cosa le persone hanno visto di prima mano nei codebases delle banche.
So che BigDecimal è "il migliore", ovviamente, ma le API carine come quella non sono disponibili ovunque, che ci crediate o meno e le librerie decimali sono costose rispetto a quelle inte.