取整函数和取整运算符的细节比较
2015-01-09 13:19
232 查看
>>;~~;Math.floor();Math.ceil();parseInt();都可以做到取整的效果,下面看看他们具体的不同点:
输出的结果依次是:
可以看出对于>>和~~运算符来说他们相当于parseInt函数不管是正数还是负数都只保留他的整数部分;
而Math.floor()向下取整,当为负数的时候取得的是小于这个数的最近的负整数;
Math.ceil()向上取整,当为负数的时候取得的是大于这个数的最近的负整数;
所以>>或者~~相当于:number>0 ? Math.floor(number) : Math.ceil(number);
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);
相关文章推荐
- 探索java基本类型和包装类型的使用运算符==进行比较的底层细节
- MYSQL数据库(十五)-常用数字、比较、日期、信息、聚合、加密函数和运算符
- Java的运算符-取整,取绝对值,取余数
- 几个比较特殊的运算符(>>,<<,&)
- 一个由自增运算符以及C语法顺序细节引起的bug
- python的取整函数:向上取整,向下取整,四舍五入取整
- PHP 浮点数计算比较及取整不准确的解决方法
- C/C++ 取整函数ceil(),floor(),向上取整,向下取整
- hdu5399 思考的细节比较多
- 比较(关系)运算符
- php浮点数计算比较及取整不准确解决方法
- PHP点运算符和双引号变量替换的性能比较
- 运算符比较
- 时间比较的一点小细节
- C# 中==运算符和equals函数的比较方式的区别
- Java中的<< >>运算符操作细节
- python 3.x 与python 2.x语法细节差异比较
- 基本运算符中Swift和Java的比较
- 【c++ 一些比较细节的知识点】函数指针
- 【JAVA与C#比较】常量和运算符