Membundarkan Nombor kepada Dua Tempat Perpuluhan Apabila Perlu
Apabila mengendalikan data berangka, selalunya perlu untuk membundarkan nilai kepada perpuluhan yang ditentukan. Walau bagaimanapun, dalam beberapa kes, kami hanya mahu membundarkan jika nilai belum dibundarkan kepada ketepatan yang diingini.
Pertimbangkan senario berikut: anda mahu membundarkan nombor kepada paling banyak dua tempat perpuluhan, tetapi hanya jika perlu . Contohnya:
Input: 10 1.7777777 9.1 Output: 10 1.78 9.1
Menggunakan Math.round()
Satu penyelesaian yang mungkin adalah menggunakan kaedah Math.round():
let roundedNum = Math.round(num * 100) / 100;
Pendekatan ini mendarabkan nombor dengan 100 sebelum membundarkannya kepada integer (dengan berkesan mengalihkan titik perpuluhan dua tempat ke kanan) dan kemudian membahagikannya semula dengan 100 untuk mendapatkan nilai dengan dua tempat perpuluhan.
Menggunakan Nombor.EPILON
Walau bagaimanapun, pendekatan ini tidak mengendalikan kes sempadan dengan betul. Sebagai contoh, 1.005 akan dibundarkan kepada 1.01 dan bukannya 1.00. Untuk menangani perkara ini, kita boleh menggunakan Nombor.EPSILON:
let roundedNum = Math.round((num + Number.EPSILON) * 100) / 100;
Nombor.EPSILON mewakili perbezaan terkecil antara dua nombor titik terapung yang dianggap penting. Menambahnya pada nombor memastikan nilai dibundarkan dengan betul, walaupun dalam kes sempadan.
Atas ialah kandungan terperinci Bagaimana untuk Membundarkan Nombor dengan Tepat kepada Dua Tempat Perpuluhan dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!