Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Membundarkan Nombor kepada Dua Tempat Perpuluhan dalam JavaScript Hanya Apabila Perlu?

Bagaimana untuk Membundarkan Nombor kepada Dua Tempat Perpuluhan dalam JavaScript Hanya Apabila Perlu?

DDD
DDDasal
2024-12-28 00:21:09707semak imbas

How to Round Numbers to Two Decimal Places in JavaScript Only When Necessary?

Membundarkan Nombor kepada Dua Tempat Perpuluhan: Apabila Perlu

Jika anda ingin membundarkan nombor kepada paling banyak dua tempat perpuluhan, tetapi hanya apabila perlu , berikut ialah dua kaedah berkesan dalam JavaScript:

1. Menggunakan Math.round():

Math.round(num * 100) / 100

Kaedah ini mendarab nombor dengan 100 untuk mengalihkan titik perpuluhan dua tempat ke kanan, membundarkan hasilnya menggunakan Math.round(), dan kemudian membahagi sebanyak 100 untuk mengalihkan titik perpuluhan kembali ke kedudukan asalnya.

2. Menggunakan Nombor.EPSILON untuk Ketepatan:

Math.round((num + Number.EPSILON) * 100) / 100

Kaedah ini lebih tepat, terutamanya untuk nombor seperti 1.005 yang mungkin tersalah dibundarkan oleh kaedah sebelumnya disebabkan isu ketepatan titik terapung. Ia menambah nombor kecil (Nombor.EPSILON) sebelum mendarab dan membundar, memastikan tiada ralat pembundaran berlaku.

Contoh Penggunaan:

const numbers = [10, 1.7777777, 9.1];
const roundedNumbers = numbers.map(num => {
  return num === Math.floor(num)
    ? num
    : Math.round(num * 100) / 100;
});

console.log(roundedNumbers); // Output: [10, 1.78, 9.1]

Dalam contoh ini, nombor dibundarkan kepada dua tempat perpuluhan hanya jika ia mempunyai bahagian pecahan. 10 kekal tidak berubah kerana ia sudah menjadi integer.

Atas ialah kandungan terperinci Bagaimana untuk Membundarkan Nombor kepada Dua Tempat Perpuluhan dalam JavaScript Hanya Apabila Perlu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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