Rumah >hujung hadapan web >tutorial js >Mengendalikan ketepatan titik terapung dalam javascript
nombor titik terapung dalam JavaScript, seperti dalam kebanyakan bahasa pengaturcaraan, diwakili menggunakan standard IEEE 754. Piawaian ini membolehkan perwakilan yang cekap dari pelbagai nombor, tetapi ia juga memperkenalkan batasan mengenai ketepatan. Kerana nombor terapung disimpan sebagai anggaran binari nombor perpuluhan, ketidaktepatan kecil dapat dikumpulkan semasa pengiraan, yang membawa kepada hasil yang tidak dijangka. Sebagai contoh, 0.1 0.2
persis kerana batasan -batasan yang wujud. Ini bukan bug dalam JavaScript; Ia adalah ciri asas bagaimana nombor terapung ditangani dalam komputer. Memahami ini adalah penting untuk menulis kod yang boleh dipercayai dan tepat yang melibatkan pengiraan berangka.
Jika anda berurusan dengan nilai -nilai kewangan atau senario lain yang memerlukan bilangan tempat perpuluhan tetap, pusingan hasil ke ketepatan yang dikehendaki menggunakan ===
atau ==
untuk kesamaan. Oleh kerana ketidaktepatan yang wujud, dua nombor yang harus secara teorinya sama mungkin berbeza sedikit dalam perwakilan binari mereka. Pendekatan ini menyumbang kepada percanggahan kecil yang timbul daripada batasan terapung. Sebagai contoh:
<code class="javascript">function areNumbersAlmostEqual(a, b, epsilon = 1e-9) {
return Math.abs(a - b) < epsilon;
}
console.log(areNumbersAlmostEqual(0.1 + 0.2, 0.3)); // true</code>
. Perlu diingat bahawa mengembalikan rentetan, jadi anda mungkin perlu menukarnya kembali ke nombor jika pengiraan selanjutnya diperlukan. Sebagai contoh, berurusan dengan sen dan bukannya dolar dapat memudahkan pengiraan. Pertimbangkan penstrukturan semula pengiraan anda atau menggunakan algoritma yang lebih stabil secara berangka untuk meminimumkan pengumpulan ralat. Sentiasa menggunakan perbandingan berasaskan toleransi seperti yang diterangkan di atas. Pilih nilai epsilon yang sesuai untuk konteks aplikasi anda. Epsilon yang sangat kecil mungkin sesuai untuk pengiraan saintifik, sementara yang lebih besar mungkin mencukupi untuk aplikasi yang kurang menuntut. Kuncinya adalah untuk memilih toleransi yang menyumbang kepada tahap ketepatan yang dijangkakan dalam pengiraan anda. Ingatlah untuk menguji fungsi perbandingan anda dengan teliti dengan pelbagai input untuk memastikan kebolehpercayaannya.
Atas ialah kandungan terperinci Mengendalikan ketepatan titik terapung dalam javascript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!