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 に答える