Perangkap Ketepatan Titik Terapung dan Penyelesaian dalam JavaScript
Aritmetik titik terapung JavaScript kadangkala boleh membawa kepada hasil yang tidak dijangka. Pertimbangkan kod ini:
function test() { var x = 0.1 * 0.2; document.write(x); } test();
Daripada jangkaan 0.02, ia mencetak 0.020000000000000004. Percanggahan ini berpunca daripada ketidaktepatan yang wujud dalam perwakilan nombor perpuluhan sebagai nilai titik terapung binari.
Penyelesaian Elegan
Untuk menangani isu ini tanpa menggunakan fungsi pembundaran, anda mempunyai beberapa pilihan:
Pertimbangan Praktikal
Walaupun pilihan pertama menawarkan ketepatan yang paling, ia mungkin terlalu tepat untuk kebanyakan kes penggunaan. Dalam keadaan sedemikian, pertimbangkan untuk memformatkan hasil anda dengan bilangan tempat perpuluhan tetap apabila memaparkannya.
Adalah penting untuk memahami bahawa had ketepatan titik terapung tidak khusus untuk JavaScript; ia digunakan untuk semua bahasa pengaturcaraan yang menggunakan aritmetik titik terapung binari. Kuncinya terletak pada memilih penyelesaian yang sesuai berdasarkan keperluan ketepatan aplikasi anda.
Ringkasnya, menangani ketepatan titik terapung dalam JavaScript melibatkan mempertimbangkan dengan teliti ketepatan yang diperlukan dan memilih pendekatan yang paling sesuai untuk kes penggunaan khusus anda .
Atas ialah kandungan terperinci Mengapakah Aritmetik Titik Terapung JavaScript Menghasilkan Keputusan Yang Tidak Dijangka, dan Bagaimana Saya Boleh Menyelesaikan Ini?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!