La aritmética decimal precisa es un tema extenso y complejo.
Google 'mike colishaw redondeo decimal' si quieres leer el ejem Oracle sobre el tema.
Básicamente, hay muchos esquemas de redondeo que son posibles:-
Redondee todo hacia abajo:el valor predeterminado en la mayoría de los idiomas, incluido C, ya que Oracle está escrito en C, probablemente sea por eso que hacen esto.
Redondee todo:rara vez se ve, pero ocasionalmente debe implementarse debido a reglas impositivas y de mercado poco claras.
Medio redondeo básico:todo lo que esté por encima de 0,5 redondea hacia arriba todo lo demás se redondea hacia abajo.
Medio redondeo generoso:todo lo que esté por debajo de 0,5 se redondea hacia abajo, todo lo demás se redondea hacia arriba.
Redondeo bancario:los números pares siguen la regla de medio redondeo básico, los números impares la regla de medio redondeo generoso. Esto rara vez se ve en los bancos reales que prefieren redondear hacia arriba si el dinero llega y redondear hacia abajo cuando va hacia los clientes.
NÚMERO DE ORACLE es en realidad una implementación de aritmética decimal bastante buena y es precisa en la medida de lo posible.