parseInt(5.1234); // 5
- 向下取整(<= 该数值的最大整数,和parseInt()一样)
Math.floor(5.1234); // 5
Math.ceil(5.1234); // 6
Math.round(5.1234); // 5
Math.round(5.6789); // 6
Math.abs(-1); // 1
Math.max(1,2); // 2
Math.min(1,2); // 1
Math.random();
- Math.floor()与parseInt只保留整数部分,在转化时存在不精确的情况,当有16位小数,且最后一位小数为5时,取值为整数部分;当有16位小数,且最后一位小数为6时,取值为整数部分加一
Math.floor(5.9999999999999995); // 5
parseInt(5.9999999999999995); // 5
Math.floor(5.9999999999999996); // 6
parseInt(5.9999999999999996); // 6
- js浮点计算精确度问题,toFixed返回的是字符串
1.01+1.1 // 2.1100000000000003
(1.01+1.1).toFixed(2); // 2.11
parseFloat((1.01+1.1).toFixed(2)); // 2.11