Mengapakah Kaedah Javascript toFixed() Tidak Membundarkan Dengan Tepat?

Susan Sarandon
Lepaskan: 2024-10-22 15:07:03
asal
836 orang telah melayarinya

Why is Javascript's toFixed() Method Not Rounding Accurately?

Javascript toFixed Not Rounding Precisely

Dalam Javascript, kaedah toFixed() digunakan untuk memformat nombor menjadi rentetan. Walau bagaimanapun, pengguna mengalami gelagat pembundaran yang tidak dijangka apabila menggunakan kaedah ini, khususnya dalam kes di mana ia gagal untuk membulatkan nombor dengan betul.

Punca di sebalik percanggahan pembundaran ini terletak pada aritmetik titik terapung asas yang digunakan oleh Javascript. Nombor titik terapung kadangkala boleh mengakibatkan ralat ketepatan, terutamanya apabila bekerja dengan nilai yang sangat kecil atau sangat besar.

Untuk menangani isu ini, pertimbangkan penyelesaian berikut:

Penyelesaian yang disediakan mencadangkan penggunaan kaedah toFixed10(), yang merupakan versi diubah suai bagi kaedah toFixed() asal yang memastikan pembundaran yang lebih tepat. Kaedah ini membundarkan nombor kepada 10 tempat perpuluhan, yang cukup tepat untuk kebanyakan aplikasi praktikal.

Penyelesaian juga termasuk fungsi tersuai untukTetap() yang melakukan pembundaran serupa menggunakan Math.round() dan Math.pow () kaedah. Fungsi ini membolehkan anda menentukan ketepatan yang diingini, memastikan hasil yang konsisten merentas pelayar.

Pelaksanaan

Dengan memasukkan kaedah toFixed() yang diubah suai atau fungsi tersuai dalam Javascript anda kod, anda boleh menyelesaikan isu pembundaran dengan berkesan dan mencapai pengiraan berangka yang tepat:

function toFixed( num, precision ) {
    return (+(Math.round(+(num + 'e' + precision)) + 'e' + -precision)).toFixed(precision);
}

// Usage:
var number = 859.385;
console.log(toFixed(number, 2)); // Output: "859.39"
Salin selepas log masuk

Kesimpulan

Dengan memahami batasan kaedah toFixed() Javascript dan menggunakan penyelesaian yang dinyatakan di atas, pengaturcara boleh mengatasi ketidaktepatan pembundaran dan memastikan pengiraan berangka yang boleh dipercayai dalam aplikasi mereka.

Atas ialah kandungan terperinci Mengapakah Kaedah Javascript toFixed() Tidak Membundarkan Dengan Tepat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!