大概在小学的时候我们就学过四舍五入, 不过在编程语言中这个概念跟我们所熟悉的算法有点出入。 如果面试中考察你对Math.round()的用法,不知道能不能准确答的上来?
Math的取整
Math中用的比较多的取整方法有三个 · Math.round · Math.floor · Math.ceil
一个个来举例子,
这里的结果分别为 22 / 23 / -23。 如果和你的计算结果不一样的话,这里只要记住一个计算规则就可以,
Math.round(value)的结果等于 value + 0.5 然后向左取整
向左取整的意思是向数轴上靠左的数取整,也有说法叫向下取整,总之都是向更小的数取整。 如果对这个有疑问的话可以拿 -X.6做例子,就马上能明白。
floor 和 ceil
其实这两个最容易记住, floor是地板的意思,ceil则是天花板, 也就是说在计算过程中, floor取的是不大于它的最大整数, ceil取的是不小于它的最小整数。
还是不容易记? 继续搬出数轴,floor就是取所计算的值左边最近的那个整数, ceil就是右边最近的那个。 简单吧?