您的位置:首页 > 其它

取整函数和取整运算符的细节比较

2015-01-09 13:19 232 查看
>>;~~;Math.floor();Math.ceil();parseInt();都可以做到取整的效果,下面看看他们具体的不同点:

console.log(-2.6>>0);
console.log(2.6>>0);
console.log(~~-2.6);
console.log(~~2.6);

/*number>0 ? Math.floor(number) : Math.ceil(number);*/

console.log(Math.floor(-2.6));
console.log(Math.floor(2.6));
console.log(Math.ceil(-2.6));
console.log(Math.ceil(2.6));

console.log(parseInt(-2.6));
console.log(parseInt(2.6));


输出的结果依次是:



可以看出对于>>和~~运算符来说他们相当于parseInt函数不管是正数还是负数都只保留他的整数部分;

而Math.floor()向下取整,当为负数的时候取得的是小于这个数的最近的负整数;

Math.ceil()向上取整,当为负数的时候取得的是大于这个数的最近的负整数;

所以>>或者~~相当于:number>0 ? Math.floor(number) : Math.ceil(number);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: