C++:设变量f为float型,将小数点后第3位四舍五入,保留小数点后两位的表达式为

问题描述:

C++:设变量f为float型,将小数点后第3位四舍五入,保留小数点后两位的表达式为
A(f*100+0.5)/100
B(f*100+0.5)/100.0
C(int)(f*100+0.5)/100.0
D(int)(f*100+0.5)/100
1个回答 分类:综合 2014-12-16

问题解答:

我来补答
C
(f*100+0.5)得到的是放大100倍的一个小数,且如果千分位上大于等于5将自动在个位数加1
这样只要取得这个小数的整数部分就可以实现将小数点后第3位四舍五入,保留小数点后两位的
所以:
(int)(f*100+0.5)是得到小数的的整数部分,(int)(f*100+0.5)/100.0是得到原来大小的小数
其中A D得到的结果都是一个整数,不符合题意,B没有对(f*100+0.5)取整数,得到的小数是错误的
再问: A应该不是整数啊
再答: 额,,错了,,,,,A是小数,不过没有取整数+0.005,,,是原来的数不变
 
 
展开全文阅读
剩余:2000