标签: c rounding scanf
我希望将217.665042舍入为217.670000。 将四舍五入的数字打印到六位小数。
我该如何处理?
答案 0 :(得分:2)
x = 0.01 * floor(x * 100.0 + 0.5);
将其舍入为217.669998,因为浮动的精度远远不能存储217.670000。
217.669998
217.670000
如果您只想打印它,可以使用:
printf("%.2f0000", x);
但请记住,如果你想用它做进一步的计算,你的变量将无法存储确切的数字。