大概在小学的时候我们就学过四舍五入, 不过在编程语言中这个概念跟我们所熟悉的算法有点出入。 如果面试中考察你对Math.round()的用法,不知道能不能准确答的上来?

Math的取整

Math中用的比较多的取整方法有三个 · Math.round · Math.floor · Math.ceil

一个个来举例子,

java四舍五入取整(java四舍五入函数公式用法)(1)

这里的结果分别为 22 / 23 / -23。 如果和你的计算结果不一样的话,这里只要记住一个计算规则就可以,

Math.round(value)的结果等于 value + 0.5 然后向左取整

向左取整的意思是向数轴上靠左的数取整,也有说法叫向下取整,总之都是向更小的数取整。 如果对这个有疑问的话可以拿 -X.6做例子,就马上能明白。

floor 和 ceil

其实这两个最容易记住, floor是地板的意思,ceil则是天花板, 也就是说在计算过程中, floor取的是不大于它的最大整数, ceil取的是不小于它的最小整数。

还是不容易记? 继续搬出数轴,floor就是取所计算的值左边最近的那个整数, ceil就是右边最近的那个。 简单吧?

java四舍五入取整(java四舍五入函数公式用法)(2)