📜  javascript 2 位小数 - Javascript (1)

📅  最后修改于: 2023-12-03 14:42:23.589000             🧑  作者: Mango

JavaScript 四舍五入到 2 位小数的方法

在前端开发中,经常需要对数值进行精度处理,通常情况下,我们会将数字的位数截取到小数点后两位,这个时候就需要使用 JavaScript 将数值四舍五入到 2 位小数。

方法 1:toFixed()

最常用的方法是使用 toFixed() 方法,该方法可以将数字四舍五入到指定的小数位数,返回字符串类型的结果。

const num = 1234.56789;
const result = num.toFixed(2);
console.log(result); // "1234.57"

需要注意的是,toFixed() 方法返回的是字符串类型的结果,而不是数字类型。

方法 2:Math.round()

另一个常用的方法是使用 Math.round() 方法,该方法可以将数字四舍五入到最接近的整数,如果需要保留两位小数,可以配合使用 Math.pow() 和除法运算。

const num = 1234.56789;
const result = Math.round(num * 100) / 100;
console.log(result); // 1234.57

需要注意的是,Math.round() 方法返回的是数字类型的结果,如果需要将结果作为字符串输出,需要使用 toString() 方法。

方法 3:正则表达式

还有一种比较有创意的方法是使用正则表达式,将数字转换为字符串,然后通过正则表达式替换掉多余的小数位数。

const num = 1234.56789;
const result = num.toString().replace(/(\.\d{2})\d+$/, '$1');
console.log(result); // "1234.57"

需要注意的是,如果数字本身只有一位小数或没有小数,该方法会返回错误的结果。

总结

以上三种方法都可以将数字四舍五入到 2 位小数,具体使用哪种方法,可以根据实际情况选择。需要注意的是,在进行金额计算等精度要求较高的场景中,需要使用精度更高的处理方式,如使用 decimal.js 库等。