JS 中的toFixed

74 阅读1分钟

JavaScript 的 toFixed() 方法用于将数字格式化为指定的小数位数。此方法将数值转为字符串,并保留指定位数的小数。例如,如果我们有一个数值 3.14159,并想要将其格式化为两位小数,我们可以使用 toFixed() 方法,如下所示:

let num = 3.14159;
let result = num.toFixed(2);
console.log(result); // 输出 "3.14"

需要注意的是,toFixed() 方法四舍五入到最接近的数值。如果小数部分的下一位数字大于等于5,将进行四舍五入。例如,3.14159.toFixed(2) 的结果将是 "3.14",而 3.146.toFixed(2) 的结果将是 "3.15"。

此外,toFixed() 方法返回的是字符串,而不是数值。这是因为,数值本身没有固定的小数位数,小数位数是在进行格式化时才确定的。如果需要将结果转回数值,可以使用 parseFloat()Number() 函数。

需要注意的一点是,由于 JavaScript 中的浮点数精度问题,toFixed() 方法可能在某些情况下无法返回预期的四舍五入结果。JavaScript 在存储和操作浮点数(即,有小数的数字)时,可能会出现精度损失。这意味着,当你把一个看似简单的数字如 0.1 加入到 JavaScript 中,它可能会被存储为一个接近但不完全等于 0.1 的数字,这可能影响 toFixed() 的四舍五入行为。因此,在处理涉及到金融或需要高精度计算的场景时,我们需要特别注意这个问题。

1.005.toFixed(2);// '1.00' 
1.0051.toFixed(2); // '1.01' 
2.449999999999999999.toFixed(1); // '2.5' 
2.449.toFixed(1) // '2.4'