Große Zahl mit Kommastellen



  • hi,

    Ich hoffe ich bin hier im richtigen Froum gelandet, da sich die Seite seit meinem letzten Besuch stark verändert hat. So zu meiner Frage. Ich hab einen kalkulator geschrieben. Er soll Kontostände vergleichen und den unterschied angeben. Welche Variable ist dafür geeignet? Weil "int" ist ja nur für ganze Zahlen, und kann keine Nachkommastellen anzeigen. "float" und "double" konnen keine großen zahlen anzeigen. Dann kommt immer das mit dem e+008 und so. Weclhen typ soll ich nehmen?

    MFG: DerLateinProfi



  • Klar kannst du float/double verwenden (solange du nicht extrem hohe Anforderungen an die Genauigkeit stellst) - du mußt nur bei der Ausgabe darauf achten, nicht in wissenschaftlicher Notation auszugeben (cout: fixed, printf: "%f",...).



  • Kannse mir mal nen Beispiel schreiben?

    DANKE

    MFG: DerLateinProfi



  • Ich hoffe das richtig verstanden zu haben und hier das Beispiel!

    int main(array<System::String ^> ^args)
    {
    	Double kontostand;
    
    	kontostand = 10000000000000;
    
    	//Hier wird 10E+... ausgegeben
    	Console::WriteLine("Der Kontostand ist {0} EUR!", kontostand);
    
    	return 0;	
    }
    

    Ändern die Ausgabezeile jetzt so ab:

    Console::WriteLine("Der Kontostand ist {0:N2} EUR", kontostand);
    

    jetzt wird der Kontostand mit Tausendertrennzeichen und mit zwei Nachkommastellen ausgegeben!

    Hier findest du noch weiter Formatierungsmöglichkeiten: http://msdn2.microsoft.com/de-de/library/dwhawy9k(VS.80).aspx



  • und wie sieht es aus, wenn der User das eingibt? Per Cin also?



  • DerLateinProfi schrieb:

    und wie sieht es aus, wenn der User das eingibt? Per Cin also?

    int main(array<System::String ^> ^args)
    {
        Double kontostand;
    
        //Einlesen von der Tastatur
        kontostand = Convert::ToDouble(Console::ReadLine());
    
        //Hier wird 10E+... ausgegeben
        Console::WriteLine("Der Kontostand ist {0:N2} EUR!", kontostand);
    
        return 0;   
    }
    

    DerLateinProfi schrieb:

    Per Cin also?

    Per cin macht man das bei ISO C++ und bei C++/CLI macht man das -meineswissens- mit Console::ReadLine(); (bzw. mit Read() oder ReadKey())


Anmelden zum Antworten