【发布时间】:2012-05-20 07:30:04
【问题描述】:
我想在小数点后最多打印 6 位,所以我使用了以下内容:
printf("%.6g",0.127943989);
printf 的输出是 0.127944,这是正确的,但是当我尝试这样做时:
printf("%.6g",0.007943989);
输出变成了 0.00794399,这不是我期望看到的!
printf 似乎忽略了小数点后的零。那么如何强制它输出最大 6 位精度呢?
【问题讨论】:
-
尝试添加 # 不确定是否有效。
-
看来小数位数真的是非前导零小数位数。
-
您使用的是哪个 C 库? glibc 好像没有这个问题。
标签: c floating-point double printf precision