我需要以科学计数法输出数字,这样小数点前总是有一个“0”。
例如对于数字 x = 134.87546,我需要产生输出 0.134875E03 NOT 1.348755E02
有人知道该怎么做吗?
提前致谢——设拉子。
我需要以科学计数法输出数字,这样小数点前总是有一个“0”。
例如对于数字 x = 134.87546,我需要产生输出 0.134875E03 NOT 1.348755E02
有人知道该怎么做吗?
提前致谢——设拉子。
int exp = (int)log10(input)+1;
double shifted = input / pow(10.0, exp);
printf("%fE%d", shifted, exp);
int exponent = floor(log10(num)) + 1;
然后只打印“0.”,不带小数的数字,“E”,然后是指数。
您可以使用Boost Format 库进行调查,它是一个通用的输出格式库。