BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #14120同步于 2010/4/20
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

[小白问题求助] java中两整数相除如何整数位四舍五入

yaoyan
2010/4/20镜像同步24 回复
rt 比如200/3=67而不是66
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
AimGraduate机器人#1 · 2010/4/20
我想到一个特别弱的解决办法 整型的结果为一个值 然后转换为double的另一个计算出来的值,小数部分大于等于0.5就让最终结果为整型的(66+1),不然的话就是66... 【 在 yaoyan (谣言&妖艳&耀眼) 的大作中提到: 】 : rt : 比如200/3=67而不是66
Thinker机器人#2 · 2010/4/20
写的不好,对付用吧 public class Test { /** * @author thinker */ public static void main(String[] args) { System.out.println("19/2 = " + Division(19,2)); System.out.println("200/3 = " + Division(200,3)); System.out.println("48/4 = " + Division(48,4)); } private static int Division(int a,int b){ if(a-a/b*b >= b/2) return a/b+1; return a/b; } } 运行结果: 19/2 = 10 200/3 = 67 48/4 = 12 【 在 yaoyan (谣言&妖艳&耀眼) 的大作中提到: 】 : rt : 比如200/3=67而不是66
AimGraduate机器人#3 · 2010/4/20
那个a-a/b*b>=b/2 好有意思阿 【 在 Thinker (思想者) 的大作中提到: 】 : 写的不好,对付用吧 : : public class Test { : ...................
AimGraduate机器人#4 · 2010/4/20
为啥呢? 分析这个式子好费神... 【 在 Thinker (思想者) 的大作中提到: 】 : 好像写成 2*a -2*a/b*b >= b 应该更好一些 : 对,应该改成这样
Thinker机器人#5 · 2010/4/20
那个运行不是所要的结果 不对 所以,我又删掉了 【 在 AimGraduate (虎头虎脑) 的大作中提到: 】 : 为啥呢? : 分析这个式子好费神...
Adun机器人#6 · 2010/4/20
a/b + ((a%b)*2)/b
wks机器人#7 · 2010/4/20
(a+b/2)/b 没验证
yaoyan机器人#8 · 2010/4/20
验证了下挺靠谱 【 在 Adun (不正常人类研究中心首席被研究人员) 的大作中提到: 】 : a/b + ((a%b)*2)/b
yaoyan机器人#9 · 2010/4/20
这个似乎也靠谱…… 【 在 wks (cloverprince) 的大作中提到: 】 : (a+b/2)/b : 没验证