toFixed、Math.round 的区别(转载)
转载 https://blog.csdn.net/qq_39571197/article/details/87597062
1、定义和用法,都是对数字进行四舍五入操作
Math.round()方法,可把一个数字舍入为最接近的整数。
toFixed()方法,可把 Number 四舍五入为指定小数位数的数字。
2、返回值的类型不同
-
const num = 123;
-
console.log(typeof(num.toFixed())); // "string"
-
console.log(typeof(Math.round(num))); // "number"
Math.round()方法,返回值为数字。
toFixed()方法,返回值为字符串。
3、处理精度不同
-
const num = 100.153;
-
console.log(num.toFixed(2)); // 100.15
-
console.log(num.toFixed(1)); // 100.1
-
console.log(num.toFixed()); // 100
-
-
console.log(Math.round(num)); // 100
Math.round()方法,就一个参数,而且用法也说明了,只返回整数。
toFixed()方法,可以接受第二个参数,用来规定小数位数,范围是2-20~
计算时需要 字符串转数字
parseFloat(((0.1 + 0.2)*10).toFixed(10))
Math.round 也可以保留任意位小数
树立目标,保持活力,gogogo!