Java四舍五入大揭秘:Math.round(11.5)为何等于12?

Hi,大家好!我是小米,一个爱分享、热爱技术的29岁程序员~今天想跟大家聊聊一道在社招面试中常见的Java面试题,也是一个非常有趣的知识点:

“Math.round(11.5) 等于多少?Math.round(-11.5) 等于多少?”

你可能会觉得这道题很简单:“直接取个整嘛!”但实际上,这里藏着一些容易被忽视的细节。接下来,我们不仅会解答这个问题,还会深入分析其中的原理,最后顺便延伸一下相关知识点,保证你对这个问题烂熟于心,再遇到时可以从容应对!

问题解析:Math.round 的行为是什么?

1、Math.round() 是什么?

Java 中的 Math.round() 是一个用于四舍五入的静态方法。它有两种重载形式:

  • Math.round(float a):返回值是 int。
  • Math.round(double a):返回值是 long。

它的作用是将一个数值四舍五入到最接近的整数。

2、核心问题:四舍五入的规则?

在大部分情况下,四舍五入的规则都很直观:

  • 小数部分 < 0.5,舍去,向下取整。
  • 小数部分 ≥ 0.5,进一,向上取整。

但是!对于正负数的四舍五入,Math.round 的表现可能会让人有点意外。

3、Math.round(11.5)和Math.round(-11.5)

先来看答案:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

软件求生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值