How to display large double numbers without scient

2020-03-30 08:14发布

问题:

How can I display a double like

5000683

Instead of 5.000683e6 in C?

I have tried %d, %g and %f, but to no avail.

回答1:

It looks like %f works just fine:

#include <stdio.h>

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

  return 0;
}

The output of this code will be

5000683.000000
5000683

The second printf() statement sets the precision to 0 (by prefixing f with .0) to avoid any digits after the decimal point.