ホームページ  >  記事  >  バックエンド開発  >  C で大きな浮動小数点数を表示するときに科学表記法が行われないようにするにはどうすればよいですか?

C で大きな浮動小数点数を表示するときに科学表記法が行われないようにするにはどうすればよいですか?

DDD
DDDオリジナル
2024-10-26 21:01:03994ブラウズ

How Can I Prevent Scientific Notation When Displaying Large Floating-Point Numbers in C  ?

Cout 出力の科学的表記法を解決する

C では、 cout を使用した数値出力のデフォルトの精度と書式指定子により科学的表記法が使用されることがよくあります。特に大きな浮動小数点数の場合。これを解決して数値を正確な桁で表示するには、std::fixed ストリーム マニピュレータを使用します。

std::fixed を使用すると、小数点がデフォルトの精度 6 に固定され、数値が確実に表示されます。科学表記法の代わりに小数点を使用します。これを提供されたコードで説明すると、次のようになります。

<code class="cpp">#include <iostream>
#include <iomanip>

int main() {
    double x = 1500;
    for (int k = 0; k < 10; k++) {
        double t = 0;
        for (int i = 0; i < 12; i++) {
            t += x * 0.0675;
            x += x * 0.0675;
        }
        std::cout << std::fixed
                  << "Bas ana: " << x
                  << "\tSon faiz: " << t
                  << "\tSon ana: " << x + t
                  << std::endl;
    }
    return 0;
}</code>

std::fixed を使用すると、出力では数値が正確な桁で表示され、科学的表記法が排除されます。

Bas ana: 3284.78      Son faiz: 1784.78      Son ana: 5069.55
Bas ana: 7193.17      Son faiz: 3908.4       Son ana: 11101.6
Bas ana: 15752.00     Son faiz: 8558.8       Son ana: 24310.8
Bas ana: 34494.50     Son faiz: 18742.5      Son ana: 53237.00
Bas ana: 75537.80     Son faiz: 41043.3      Son ana: 116581.00
Bas ana: 165417.00    Son faiz: 89878.7      Son ana: 255295.00
Bas ana: 362238.00    Son faiz: 196821.00    Son ana: 559059.00
Bas ana: 793246.00    Son faiz: 431009.00    Son ana: 1.22426e+006
Bas ana: 1.73709e+006 Son faiz: 943845.00    Son ana: 2.68094e+006
Bas ana: 3.80397e+006 Son faiz: 2.06688e+006 Son ana: 5.87085e+006

以上がC で大きな浮動小数点数を表示するときに科学表記法が行われないようにするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。