Aritmatika desimal yang akurat adalah subjek yang besar dan kompleks.
Google 'mike colishaw desimal pembulatan' jika Anda ingin membaca ahem Oracle pada subjek.
Pada dasarnya ada banyak skema pembulatan yang mungkin:-
Membulatkan semuanya ke bawah - default di sebagian besar bahasa termasuk C karena Oracle ditulis dalam C, ini mungkin alasan mereka melakukan ini.
Bulatkan semuanya - jarang terlihat tetapi terkadang perlu diterapkan karena aturan pasar dan pajak yang tidak jelas.
Pembulatan Setengah Dasar - apa pun di atas 0,5 dibulatkan ke atas, yang lainnya dibulatkan ke bawah.
Pembulatan Setengah Besar - apa pun di bawah 0,5 dibulatkan ke bawah, yang lainnya dibulatkan ke atas.
Pembulatan Bankir - Angka genap mengikuti aturan Pembulatan Setengah Dasar, angka ganjil aturan Pembulatan Setengah Ramah. Ini jarang terlihat di bank yang sebenarnya lebih memilih pembulatan ke atas jika uang datang ke arah mereka dan pembulatan ke bawah saat ke arah klien.
ORACLE NUMBER sebenarnya adalah implementasi Aritmatika Desimal yang cukup bagus dan sejauh ini akurat.