Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Melaraskan Tempat Perpuluhan dengan Tepat dalam Pembolehubah Berganda?
Mengatasi Ketaktepatan Perpuluhan dalam Berganda
Semasa bekerja dengan beregu, keperluan sering timbul untuk melaraskan tempat perpuluhan mereka dengan tepat. Salah tanggapan yang lazim ialah mendarab dengan .1 atau pecahan serupa berulang kali sudah memadai. Walau bagaimanapun, ini boleh membawa kepada ralat pembundaran yang ketara disebabkan oleh perwakilan yang tidak tepat bagi nilai tersebut dalam format berganda.
Pendekatan yang lebih tepat melibatkan penggunaan pengganda dan pembahagian integer, mengambil kesempatan daripada fakta bahawa integer boleh diwakili dengan tepat. Sebagai contoh, membahagi dengan 100, seperti yang ditunjukkan di bawah, secara berkesan menggerakkan tempat perpuluhan ke kanan:
double x = 1234; x /= 100;
Walau bagaimanapun, perlu diperhatikan bahawa walaupun pembahagian dengan integer menghapuskan ralat pembundaran pengkompaunan, ia tidak sepenuhnya menghapuskan ketidaktepatan pembundaran. Aritmetik titik terapung sememangnya memperkenalkan sejumlah kecil pembundaran semasa pengiraan, tanpa mengira kaedah yang digunakan.
Untuk mendapatkan perwakilan perpuluhan yang tepat, seseorang boleh mempertimbangkan untuk menggunakan BigDecimal, kelas dalam Java API yang menyediakan aritmetik ketepatan arbitrari . BigDecimal mengekalkan nilai yang tepat secara dalaman, menghapuskan sebarang ralat pembundaran yang mungkin berlaku dalam pengiraan titik terapung.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaraskan Tempat Perpuluhan dengan Tepat dalam Pembolehubah Berganda?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!