【发布时间】:2014-03-31 08:14:53
【问题描述】:
如何在 C 中使用 printf 来显示双精度的全长。
考虑
int main(){
double x = 0.00000000000001;
printf("x: %f \n", x);
}
我得到的结果是“i:0.000000”,但是从我读到的 %f 是正确的格式说明符,双打应该有 15-17 个有效数字,因此我不明白为什么我会得到一个四舍五入的结果。我也尝试过 %15f 和 %lf。
如果有帮助,我正在使用 Ubuntu。
【问题讨论】:
-
另外,顺便说一句:避免将浮动命名为“i”;-)。即使在这个尽可能短的样本中,它也具有误导性,仅仅是因为它违背了一个古老的约定,以至于它已经成为程序员基因库的一部分。
-
@peter 对此感到抱歉,我现在已经更改了。