Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Mengelakkan Ketaktepatan Semasa Mendarab Nombor Titik Terapung dalam JavaScript?

Bagaimanakah Saya Boleh Mengelakkan Ketaktepatan Semasa Mendarab Nombor Titik Terapung dalam JavaScript?

Patricia Arquette
Lepaskan: 2024-12-29 06:18:13
asal
173 orang telah melayarinya

How Can I Avoid Inaccuracies When Multiplying Floating-Point Numbers in JavaScript?

Kecelakaan Ketepatan Titik Terapung: Mengurangkan Dilema Perpuluhan JavaScript

Apabila bekerja dengan nombor titik terapung dalam JavaScript, ketidaktepatan dalam pendaraban boleh timbul, menghalang usaha anda untuk mendapatkan hasil yang tepat. Pertimbangkan contoh:

function test() {
  var x = 0.1 * 0.2;
  document.write(x);
}
test();
Salin selepas log masuk

Kod ini mencetak 0.020000000000000004 dan bukannya 0.02 yang dijangkakan. Percanggahan ini berpunca daripada ralat yang wujud dalam aritmetik titik terapung.

Mengatasi Masalah Ketepatan

Untuk mengatasi cabaran ini, pelbagai penyelesaian telah dicadangkan:

  • ToFixed and Rounding: Walaupun fungsi ini memberikan pembetulan pantas dengan memotong digit, mereka memperkenalkan ralat pembundaran yang mungkin tidak boleh diterima dalam senario tertentu.

Pendekatan Alternatif

Untuk pengendalian perpuluhan yang lebih tepat aritmetik, pertimbangkan pilihan berikut:

  • Gunakan Jenis Data Perpuluhan Khusus: Ini melibatkan penggunaan perpustakaan luaran seperti BigDecimal untuk JavaScript atau DecimalJS, yang menawarkan pengiraan perpuluhan yang lebih tepat.

Penyelesaian Bergantung Konteks

  • Anggaran Ketepatan: Untuk aplikasi di mana ketepatan perpuluhan yang tepat tidak penting, anda boleh membundarkan kepada bilangan digit yang munasabah berdasarkan konteks.

Pertimbangan Tambahan

  • Pengumpulan Ralat Pusingan: Ambil perhatian bahawa operasi titik terapung berulang boleh mengumpul pusingan ralat, jadi adalah penting untuk memantau kesannya terhadap pengiraan khusus anda.

Memilih Pendekatan yang Tepat

Pilihan penyelesaian bergantung pada keperluan khusus aplikasi anda dan toleransi untuk ketepatan. Walaupun pembundaran dan pemangkasan mungkin mencukupi dalam sesetengah kes, jenis data perpuluhan khusus atau anggaran bergantung konteks menawarkan hasil yang lebih tepat apabila ketepatan adalah yang terpenting.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengelakkan Ketaktepatan Semasa Mendarab 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