c程序中:float b=123.456;printf("b=%6.2f尀n",b);结果输出为b=123.46

为什么输出不是:b=123.45 是程序进行了四舍五入的缘故吗?
2025-02-06 05:47:09
推荐回答(4个)
回答1:

我来解答一波~
对于格式字符%f(%n.mf)当输出数据的小数位多余m位时,截取右边多余的小数,并对截取部分的第一位作四舍五入处理,如题 截取0.006,6为截取部分的第一位小数,四舍五入为0.01,把0.01与123.45相加,结果为123.46.

回答2:

123.456=1.23456 乘10的平方。
即:指数形式是
个位+小数位+E+10的n次方

回答3:

有的编译器不同,结果也不同。。。
一般情况是会把后面的省略掉。。。

回答4:

不是四舍五入 是截取