You used the printf format %.5f
. That means "print plain decimal digits all the way down to five places after the decimal." If you want scientific notation instead, which is more common with such large numbers, you should use %.5g
, which means "print automatic format digits all the way down to five places after the decimal...or really four places in scientific notation."
Note that such huge numbers as you have are definitely within range for a double
. There is nothing unusual about the value of the number in the code you have posted.