在C中打印一个带有两位小数但没有尾随零的浮点数

时间:2013-03-05 15:36:26

标签: c casting floating-point printf

在C中是否有一种简单,快速的方法来转换或打印浮点数,以便输出具有两位小数(不是更多)的精度,但是如果有任何尾随零,它们会被删除?

示例:

100.456 -> 100.46
100.32 -> 100.32
100.7046 -> 100.7
100.00 -> 100

假设我们有float x;,我们执行printf(%.2f, x)。 这将满足第一个要求,因为任何浮点数的最大精度为2位小数。但问题是,对于x=100.00100.7046,我们会分别获得100.00100.70

使用“g”作为格式也无法解决问题。有什么想法吗?

1 个答案:

答案 0 :(得分:-2)

printf ("%.2f", 100.456);应该给你100.46