实现整型除法四舍五入

奔跑小子 发布于 2016/10/11 08:43
阅读 296
收藏 0
除了强制转换成浮点型,再换成整型之外还有别的方法么
加载中
1
GestureWei
GestureWei

x / y,判断与x相近的上下两个y的倍数,谁跟x更近

int round_div(int x,int y){
	int result=x/y;
	int remainder=x%y;
	if (remainder==0){
		return result;
	}
	int lower_bound=x-remainder;
	int upper_bound=lower_bound+y;
	return upper_bound-x > x-lower_bound?
		result:
		upper_bound/y;
}



c
catlover
刚刚想写的,就是这样处理了~
0
c
catlover
你是要round函数么~~
奔跑小子
round是对浮点型用的啊
0
米瑞克
用bigdecimal封装类处理数字问题
0
鸿则-TCS
鸿则-TCS

用浮点数相除,结果+0.5后强制转化为整型就好了

10.5/2=5.25    5.25+0.5=5.75 -> 5

11.4/2=5.7      5.7+0.5=6.2 -> 6

0
page_zxy
page_zxy
装换成Bigdecimal类型来做
返回顶部
顶部