【问题标题】:Why is this long double not printing out correctly using printf?为什么这个 long double 不能使用 printf 正确打印出来?
【发布时间】:2012-04-18 20:16:28
【问题描述】:

我需要使用 long double 进行除法,大约为 1/10^23,但是当我使用 printf 检查它们时,数字会被截断。有谁知道我怎样才能看到完整的号码?例如:

long double a = 1;
long double b = 3;
printf ("%Lf", a/b );

但我明白了:

0.333333

例如我想显示像here这样的完整号码

【问题讨论】:

  • 你的意思是你想看到无数个3s?
  • @cnicutar 至少 80 位 long double,这只是一个例子
  • .3333333... 永远不会出现,因为浮点数的精度有限。但是,您可以告诉printf 要显示多少位数。
  • 看看 man printf,看看如何指定精度。

标签: c printf long-double


【解决方案1】:

%f 格式打印小数点后 6 位。您可以使用%.df 打印 d 位。或者更好的是,使用%.dg 使大/小值也可读。

【讨论】:

    猜你喜欢
    • 2023-04-07
    • 2021-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-13
    • 2013-04-19
    • 1970-01-01
    • 2023-01-19
    相关资源
    最近更新 更多