L'aritmatica decimale accurata è un argomento ampio e complesso.
Google 'mike colishaw arrotondamento decimale' se vuoi leggere l'ehm Oracle sull'argomento.
Fondamentalmente sono possibili molti schemi di arrotondamento:-
Arrotonda tutto per difetto:l'impostazione predefinita nella maggior parte delle lingue, incluso il C, poiché Oracle è scritto in C, questo è probabilmente il motivo per cui lo fanno.
Arrotonda tutto:raramente visto ma occasionalmente deve essere implementato a causa di oscure regole fiscali e di mercato.
Mezzo arrotondamento di base:qualsiasi valore superiore a 0,5 arrotonda per eccesso, tutto il resto arrotonda per difetto.
Mezzo arrotondamento generoso:qualsiasi cosa inferiore a 0,5 arrotonda per difetto tutto il resto arrotonda per eccesso.
Arrotondamento dei banchieri - I numeri pari seguono la regola del mezzo arrotondamento di base, i numeri dispari la regola del mezzo arrotondamento generoso. Questo è raro nelle banche reali che preferiscono arrotondare per eccesso se i soldi arrivano e arrotondare per difetto quando vanno verso i clienti.
ORACLE NUMBER è in realtà un'implementazione aritmatica decimale piuttosto buona ed è accurato per quanto possibile.