问题
Float or double always gives answer in scientific notation if number of digits are 7 or more. Like an decimal number 10000000.5
it is giving 1e-08
something. I am wondering if we can print 10000000.5
without adding any new header file.
回答1:
If you are printing to cout
, use
std::cout.setf( std::ios::fixed, std::ios::floatfield );
See it work.
You might also want std::cout.precision(1)
to set the number of digits after the decimal point.
回答2:
printf("%.1f", someFloat)
should do that for you, if you want one decimal digit. If you want n
decimal digits, then use %.nf
来源:https://stackoverflow.com/questions/16370596/print-float-or-double-in-non-scientific-notaion