Bagaimana untuk Mengekalkan Ketepatan dengan Nombor Titik Terapung dalam JavaScript?

Mary-Kate Olsen
Lepaskan: 2024-10-30 22:00:03
asal
970 orang telah melayarinya

 How to Maintain Precision with Floating-Point Numbers in JavaScript?

Ketepatan Titik Terapung dalam JavaScript: Cara Menangani Cabarannya

Apabila berurusan dengan nombor titik terapung dalam JavaScript, adalah penting untuk menjangka dan menangani isu ketepatan yang berpotensi. Satu senario biasa ialah apabila anda perlu mengumpulkan nilai berangka dengan membundarkannya kepada berbilang tertentu dan kemudian menukar hasilnya kepada rentetan. Walau bagaimanapun, operasi titik terapung JavaScript boleh memperkenalkan ketidaktepatan, seperti yang ditunjukkan oleh contoh:

0.2 + 0.4 = 0.6000000000000001
Salin selepas log masuk

Untuk mengatasi isu ini, pertimbangkan teknik ini:

1. Menggunakan Pustaka Perpuluhan:

Laksanakan perpustakaan JavaScript yang direka khusus untuk mengendalikan perpuluhan, seperti decimal.js. Pendekatan ini memberikan ketepatan yang dipertingkatkan dan menghapuskan ketidakkonsistenan pembulatan yang boleh timbul daripada menggunakan JavaScript asli.

2. Melaksanakan Perwakilan Titik Tetap:

Formatkan hasil anda kepada nombor tetap digit bererti menggunakan fungsi seperti toFixed(2). Pendekatan ini memastikan bahawa nilai anda dibulatkan secara konsisten dan dipaparkan dengan tahap ketepatan tertentu. Contohnya:

(Math.floor(y/x) * x).toFixed(2)
Salin selepas log masuk

3. Menukar kepada Integer:

Jika boleh, pertimbangkan untuk menukar nilai berangka anda kepada integer menggunakan fungsi seperti Math.floor. Ini menghapuskan isu ketepatan titik terapung sama sekali dan memastikan nilai anda diwakili sebagai nombor bulat.

Atas ialah kandungan terperinci Bagaimana untuk Mengekalkan Ketepatan dengan Nombor Titik Terapung dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan