C语言 设变量x为float型且已经赋值,则以下语句中能够将x中的数值保留到小数点后面2位,并将第3位四舍五入
C语言 设变量x为float型且已经赋值,则以下语句中能够将x中的数值保留到小数点后面2位,并将第3位四舍五入
日期:2011-05-04 15:54:36 人气:1
C
A ,很明显的错误,乘以100后没有除100,值放大了100倍,再怎么舍也不会变回去
B ,B的错误在于它并不能保留小数点后面2位,但是他可以将小数点第3位四舍五入
C,C和B的差别就在于强制转换类型i,(int)(x*100+0.5) 把float型数据(x*100+0.5)强转成int,X*100的目的是将小数点2位变为整数,+0.5就是为了四舍五入,因为强制转换的时候会将小数部分去掉,如果原来大于0.5那么他就会进1,整数部分就会加1,然后再除以100.0,小数点后2位变回四舍五入后的值