当我们在进行数值计算或者金额统计时,通常需要对结果进行四舍五入并保留特定位数的小数。在 JavaScript 中,我们可以使用内置函数来实现这一功能。
四舍五入
JavaScript 提供了一个 Math.round() 函数,可以将数字四舍五入到最接近的整数。
Math.round(2.3); // 2
Math.round(2.7); // 3
如果要将小数四舍五入到特定位数,我们可以借助数学运算进行处理。例如,要将一个数保留两位小数并四舍五入,可以将该数乘以 100、调用 Math.round() 函数,再除以 100。
let num = 2.3456;
num = Math.round(num * 100) / 100;
console.log(num); // 2.35
向上取整和向下取整
与 Math.round() 不同的是,JavaScript 中还提供了 Math.ceil() 和 Math.floor() 函数,可以将数值分别向上取整和向下取整。
Math.ceil(2.3); // 3
Math.floor(2.7); // 2
同样地,如果要将小数向上或向下取整到特定位数,可以先将该数乘以对应的倍数,调用 Math.ceil() 或 Math.floor() 函数,再除以倍数。
// 向上取整
let num = 2.3456;
num = Math.ceil(num * 100) / 100;
console.log(num); // 2.35
// 向下取整
let num = 2.3456;
num = Math.floor(num * 100) / 100;
console.log(num); // 2.34
toFixed 方法
除了使用数学运算和内置函数外,JavaScript 还提供了一个 toFixed() 方法可以直接将数字保留指定位数的小数,且会自动进行四舍五入。该方法返回一个字符串类型的值。
let num = 2.3456;
num = num.toFixed(2);
console.log(num); // "2.35"
需要注意的是,toFixed() 方法返回的字符串类型的小数位数是固定的,即使结果小于指定位数也会在末尾补零。在使用 toFixed() 方法时需要考虑到这一点。
以上就是 JavaScript 中四舍五入并保留特定位数的小数公式的几种实现方式。这些方法都可以根据具体需求选择使用,让我们在处理数值计算或者金额统计时更加方便快捷。