Standard double-Formatierung



  • Hi zusammen

    Folgendes Testprogramm soll die Standard double-Formatierung auf meinem System testen:

    #include <iostream>
    
    using namespace std;
    
    int main() {
    	cout << 0.0 << endl;
    	cout << 7500.625739 << endl;
    	cout << 94502117.0 << endl;
    	cout << 94502117.2 << endl;
    	cout << 9450211799.234369 << endl;
    	return 0;
    }
    

    Die Ausgabe resultiert wie folgt:

    0
    7500.63
    9.45021e+007
    9.45021e+007
    9.45021e+009
    

    Was ich, bei allem Respekt, ganz schön bescheuert finde 🙂 . Lieber wäre mir so etwas:

    0
    7500.625739
    94502117
    94502117.2
    9450211799.234369
    

    Gibt es einfache Kombination von Stream-Manipulatoren, die das bewerkstelligt? Es sollten natürlich immer dieselben Manipulatoren sein, damit ich alle diese möglichen Werte bei der Ausgabe einer double-Variable in diesem Stil formatiert bekomme.

    Danke schon jetzt für eure Vorschläge und beste Grüsse
    Kessi


  • Mod

    #include <iostream>
    #include <iomanip>
    using namespace std;
    
    int main() {
      cout << setprecision(16);
      cout << 0.0 << endl;
      cout << 7500.625739 << endl;
      cout << 94502117.0 << endl;
      cout << 94502117.2 << endl;
      cout << 9450211799.234369 << endl;
      return 0;
    }
    

    edit: 16 natürlich, nicht 15. Habe mich verzählt 🙂



  • Ich liebe Einzeiler 🙂 ! Besten Dank!



  • Kessi-MC schrieb:

    Ich liebe Einzeiler

    Ich Einzeller! 😃

    ~Ich darf auch mal trollen. 🕶~


Anmelden zum Antworten