'Can you print an integer in scientific notation?
I know that in C, you can print floats and doubles in scientific notation using "%e" and "%le" respectively and that you can print integers using "%d". Is there a way to print integers using scientific notation? I tried "%de", but that didn't work. For instance, I want 6000000 to print as 6e+06.
Solution 1:[1]
Can you print an integer in scientific notation?
A simple approach is to convert to a double and then print. @Eric Postpischil
printf("%e\n", (double) some_int_type_object);
This is insufficient when the integer precision and value exceeds double - typically about 53 bits.
Recommend to use long double to handle wider integer types. This still may not meet precision requirements.
printf("%Le\n", (long double) some_integer_type_object);
To portably handle 64-bit integers obliges custom code.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 |
