c - 显示 Float 6 位小数,带 2 位小数舍入

标签 c rounding scanf

我希望 217.665042 四舍五入为 217.670000。 将四舍五入后的数字打印到小数点后六位。

我该如何继续?

最佳答案

x = 0.01 * floor(x * 100.0 + 0.5);

将其四舍五入为217.669998,因为float的精度远远无法存储217.670000

如果您只想打印它,可以使用:

printf("%.2f0000", x);

但请记住,如果您想用它进行进一步计算,您的变量将无法存储确切的数字。

关于c - 显示 Float 6 位小数,带 2 位小数舍入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35008023/

相关文章:

c - 结合指针解引用运算符正确使用预增量运算符

c - 如何对 char 字符串/数组使用 malloc() 函数?

c - 向下舍入浮点结果

mysql - 大查询 : Is there a way to round a timestamps UP or DOWN to the NEAREST minute?

c - 如何梳理输入(方程式)并获取变量,忽略空格? (scanf()), (数组)

c - 函数调用错误

c - 如何在 C 语言中使用引用调用发送枚举数据类型

wpf - xaml 语法中的圆括号

c - scanf 只读取第一个字段

无法从c文件中读取字符串