js中几种对数值取整数和小数部分的方法
取整
(1)parseInt
用法:parseInt(num)
这是最常见的一种取整方式,但是其实parseInt并不是为了取整而设计的
注:
parseInt(string, radix) 是一个将字符串转换为整数的方法,第一个参数表示要转换的字符串,如果参数不是一个字符串,则将其转换为字符串。第二个参数是基数即进制,默认为10。
意思也就是说即便你的num是一个数字,他也会先把他转化为字符串,然后再取整。这无疑是消耗了一些性能的。
(2)利用数学方法Math.floor(向下取整),和Math.ceil(向上取整)。
例如:
Math.floor(3.45) 3
Math.ceil(3.45) 4
Math.ceil(-3.45) -3
因此我们可以判断要取整的数值是正数还是负数,正数则用Math.floor,负数则用Math.ceil。而且性能要比parseInt()高。
(3)Math.trunc()
Math.trunc()是es6新增的方法。作用是去掉小数部分,保留整数部分。
(4)num | 0
这个方法也可以使用,但是不能处理超过32位的数值取整,而JavaScript有效整数的范围是53位。
取小数
(1)num - Math.trunc(num);
(2)num % 1