Dokładna arytmetyka dziesiętna to duży i złożony temat.
Google „mike colishaw zaokrąglanie dziesiętne”, jeśli chcesz przeczytać ahem Oracle na ten temat.
Zasadniczo istnieje wiele możliwych schematów zaokrąglania:-
Zaokrąglaj wszystko w dół - domyślnie w większości języków, w tym w C, ponieważ Oracle jest napisane w C, prawdopodobnie dlatego to robią.
Zaokrąglij wszystko - rzadko spotykane, ale czasami musi zostać wdrożone z powodu niejasnych przepisów rynkowych i podatkowych.
Podstawowe zaokrąglanie do połowy – wszystko powyżej 0,5 jest zaokrąglane w górę, wszystko inne jest zaokrąglane w dół.
Obfite zaokrąglanie do połowy – wszystko poniżej 0,5 jest zaokrąglane w dół, wszystko inne jest zaokrąglane w górę.
Zaokrąglanie bankierów — liczby parzyste są zgodne z zasadą podstawowego zaokrąglania o połowę, a liczby nieparzyste — z zasadą hojnego zaokrąglania o połowę. Rzadko spotyka się to w rzeczywistych bankach, które wolą zaokrąglać w górę, gdy pieniądze przychodzą w ich stronę i zaokrąglać w dół, gdy trafiają do klientów.
ORACLE NUMBER jest w rzeczywistości całkiem dobrą implementacją arytmetyki dziesiętnej i jest dokładna.