通常我们取整会用Math.ceil()
向上取整,利用Math.floor()
向下取整
也会使用parseInt()
对字符串进行转换成整数
比如
console.log(parseInt('13.2k')) //13
但是遇到个别案例的时候
console.log(parseInt('0.00000001')) //0
console.log(parseInt(0.00000001)) //1
原因是当为数字类型的时候如果出现连续的超过6个及以上,连续的6个0会自动改成科学计数法,如上会变成1e-7,这时候用parseInt就会变成1而不是0
这里其实还可以用Math.trunc()
去代替
他的用处是就是去除一个数的小数部分,parseInt的好处是输入的无论是字符串还是数字都可以解析
分享一个js取整的一个骚操作,通过位操作符取整
var a = ~~2.33 ----> 2
var b = 2.33 | 0 ----> 2
var c = 2.33 >> 0 ----> 2