能将x中的数值保留到小数点后两位,并将第三位四舍五入

2021年8月22日 | 分类: 【编程】

【题目】

设变量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