5

我需要以科学计数法输出数字,这样小数点前总是有一个“0”。

例如对于数字 x = 134.87546,我需要产生输出 0.134875E03 NOT 1.348755E02

有人知道该怎么做吗?

提前致谢——设拉子。

4

3 回答 3

3
int exp = (int)log10(input)+1;
double shifted = input / pow(10.0, exp);
printf("%fE%d", shifted, exp);
于 2010-01-29T10:51:23.353 回答
0
int exponent = floor(log10(num)) + 1;

然后只打印“0.”,不带小数的数字,“E”,然后是指数。

于 2010-01-29T10:49:48.690 回答
0

您可以使用Boost Format 库进行调查,它是一个通用的输出格式库。

于 2010-01-29T10:54:20.430 回答