Heim >Backend-Entwicklung >C++ >Wie kann ich die wissenschaftliche Notation bei der Anzeige großer Gleitkommazahlen in C verhindern?

Wie kann ich die wissenschaftliche Notation bei der Anzeige großer Gleitkommazahlen in C verhindern?

DDD
DDDOriginal
2024-10-26 21:01:031078Durchsuche

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

Auflösen der wissenschaftlichen Notation in der Cout-Ausgabe

In C führen die Standardgenauigkeits- und Formatspezifizierer für die numerische Ausgabe mit cout oft zu wissenschaftlicher Notation, insbesondere für große Gleitkommazahlen. Um dieses Problem zu beheben und Zahlen mit genauen Ziffern anzuzeigen, verwenden Sie den Stream-Manipulator std::fixed.

Bei Verwendung von std::fixed wird der Dezimalpunkt auf eine Standardgenauigkeit von 6 festgelegt, um sicherzustellen, dass Zahlen mit angezeigt werden Dezimalzahlen statt wissenschaftlicher Notation. Um dies im bereitgestellten Code zu veranschaulichen:

<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>

Durch die Verwendung von std::fixed zeigt die Ausgabe jetzt Zahlen mit genauen Ziffern an, wodurch die wissenschaftliche Notation entfällt:

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

Das obige ist der detaillierte Inhalt vonWie kann ich die wissenschaftliche Notation bei der Anzeige großer Gleitkommazahlen in C verhindern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn