toFixed
2023年10月07日
一、认识
Number.prototype.toFixed
方法使用定点表示法来格式化该数值。toFixed()
方法返回一个表示 numObj
的字符串,但不使用指数计数法,并且小数点后有精确到 digits
位的数字。如果需要截断,则将数字四舍五入;如果小数位数不足,则小数部分用零填充,以使其具有指定长度。
二、语法
number.toFixed()
number.toFixed(digits)
digits
: 小数点后的位数。应该是一个介于0
和100
之间的值,包括0
和100
。如果这个参数被省略,则被视为0
。
三、返回值
使用定点表示法表示给定数字的字符串。
四、应用场景
4.1 四舍五入
const numObj = 12345.6789;
numObj.toFixed(); // '12346';四舍五入,没有小数部分
numObj.toFixed(1); // '12345.7';向上舍入
numObj.toFixed(6); // '12345.678900';用零补足位数
(1.23e20).toFixed(2); // '123000000000000000000.00'
(1.23e-10).toFixed(2); // '0.00'
(2.34).toFixed(1); // '2.3'
(2.35).toFixed(1); // '2.4';向上舍入
(2.55).toFixed(1); // '2.5'
// 它向下舍入,因为它无法用浮点数精确表示,并且最接近的可表示浮点数较小
(2.449999999999999999).toFixed(1); // '2.5'
// 向上舍入,因为它与 2.45 的差值小于 Number.EPSILON。
// 这个字面量实际上编码和 2.45 相同的数值
(6.02 * 10 ** 23).toFixed(50); // 6.019999999999999e+23;大数仍然使用指数表示法