【题目】
设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是( )
A. x=(x*100+0.5)/100.0;
B. (int)(x*100+0.5)/100.0;
C. x=(x/100+0.5)*100.0;
D. x=x*100+0.5/100
【考点】
强制类型转换。
加0.5再转成int是四舍五入常用操作。
【解析(1)】
如果实在不明白,直接设 \(x=1.111\),然后代入计算:
\([(int)(1.111\ast100+0.5)]/100.0\)
\(=[(int)(111.1+0.5)]/100.0\)
\(=[(int)(111.6)]/100.0\)
\(=111/100.0\)
\(=1.11\)
答案选择:B
【解析(2)】
只有B可以在除之前,强转int,能把小数位甩掉,除以 100.0 之后刚好是两位小数。无小数点第三位以后的数值。
其他的选项都无法将后面的小数位数舍去。
答案选择:B