Точната десетична аритматика е голяма и сложна тема.
Google 'mike colishaw decimal rounding', ако искате да прочетете хм Oracle по темата.
По принцип има много възможни схеми за закръгляване:-
Закръглете всичко надолу - по подразбиране в повечето езици, включително C, тъй като Oracle е написано на C, това вероятно е причината, поради която правят това.
Закръглете всичко нагоре – среща се рядко, но понякога трябва да се прилага поради неясни пазарни и данъчни правила.
Основно закръгляване наполовина - всичко над .5 закръгля нагоре, всичко останало закръгля надолу.
Щедро закръгляване наполовина - всичко под 0,5 закръгля надолу, всичко останало закръгля нагоре.
Банкерско закръгляване - Четните числа следват правилото за основното половин закръгляване, а нечетните числа - правилото за щедрото половинчато закръгляване. Това рядко се среща в действителните банки, които предпочитат закръгляване нагоре, ако парите идват към тях, и закръгляване надолу, когато отиват към клиентите.
ORACLE NUMBER всъщност е доста добра реализация на Decimal Arithmatic и е точна, доколкото е възможно.