如何在 C 中显示没有科学记数法的大双精度数?

How to display large double numbers without scientific notation in C?

如何显示双赞

5000683

而不是 C 中的 5.000683e6

我试过%d%g%f,但都没有用。

看起来 %f 工作正常:

#include <stdio.h>

int main()
{
  double d = 5000683;
  printf("%f\n", d);
  printf("%.0f\n", d);

  return 0;
}

这段代码的输出将是

5000683.000000
5000683

第二个 printf() 语句将精度设置为 0(通过在 f 前加上 .0 前缀)以避免小数点后的任何数字。