C语言将一个小数四舍五入的问题

2025年03月01日 07:47
有2个网友回答
网友(1):

(a*100+0.5)/100都是符点型没进行强制类型转换,就是计算了一下,而(int)(a*100+0.5)/100.0把浮点型强制类型转换了,从浮点型转换了整形所以可以进行四舍五入

网友(2):

有差别,第一个不会做四舍五入的,它精确的进行了计算,第二个是正确的,进行了舍运算,这个运算是在(int)的时候利用类型转换做的
如果你输出的结果是一样的,我怀疑是你在输出的时候指定了输出精度,你检查一下你的printf或者cout