adb16x
adb16x

Reputation: 688

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

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.

Upvotes: 3

Views: 2564

Answers (1)

Striezel
Striezel

Reputation: 3758

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.

Upvotes: 3

Related Questions