在C中是否有一种简单,快速的方法来转换或打印浮点数,以便输出具有两位小数(不是更多)的精度,但是如果有任何尾随零,它们会被删除?
示例:
100.456 -> 100.46
100.32 -> 100.32
100.7046 -> 100.7
100.00 -> 100
假设我们有float x;
,我们执行printf(%.2f, x)
。
这将满足第一个要求,因为任何浮点数的最大精度为2位小数。但问题是,对于x=100.00
或100.7046
,我们会分别获得100.00
和100.70
。
使用“g”作为格式也无法解决问题。有什么想法吗?
答案 0 :(得分:-2)
printf ("%.2f", 100.456);
应该给你100.46