已有101人关注
请教Math.round()
发表在Java图书答疑 2010-03-30
是否精华
版块置顶:
例9.5:
Math.round(3.4f)为何返回值为:3;参数3.4+1/2后为3.9,最接近的整数不是4吗?
“将参数加上1/2后返回与参数最近的整数“如何理解这句话,按例题的结果,好像是说,round()是一种对rint()方法进行修补的方法,当出现类似2.5的参数,要求回奇数时”加1/2“才起作用。不知道这样理解对不对。
分享到:
精彩评论 3
free007
学分:0 LV1
2010-03-30
沙发
返回最接近参数的 int。它相当于(int)Math.floor(a + 0.5f)
3.4+1/2=3.4因为1/2=0
所以,Math.round(3.4+1/2)=3
dongmingqi
学分:0 LV1
2010-03-31
板凳
[FIELDSET][LEGEND]引自:1楼[/LEGEND]
返回最接近参数的 int。它相当于(int)Math.floor(a + 0.5f)
3.4+1/2=3.4因为1/2=0
所以,Math.round(3.4+1/2)=3
[/FIELDSET]

回复:
  不明白你的解释:
那为何Math.round(2.5f)=3,而不是2呢。
东北虎
学分:0 LV1
2010-04-01
地板
您好,实际上就相当于四舍五入。
首页上一页 1 下一页尾页 3 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照