Single Typ nach String konvertieren



  • Hallo Leute,

    ich habe ein Anfängerproblem. Ich wollte mir einen Euro-Schilling Rechner bauen.
    Funktioniert soweit alles, jedoch schneidet der Rechner die Kommastellen ab weil ich vermutlich die Konvertierung nicht richtig durchführe.

    if (textBoxEuro->Text != String::Empty) {
    
    			 Single zahl;
    			 zahl = 13,760;
    			 Single eingabe;
    			 eingabe = Convert::ToSingle(textBoxEuro->Text);
    			 eingabe = eingabe * zahl;
    			 labelErgebnisSchilling->Text = Convert::ToString(eingabe);
    
    			 }
    
    			else {
    
    				MessageBox::Show("Bitte geben Sie einen Wert ein!");
    				textBoxEuro->Focus();
    
    			}
    


  • Single zahl;
    zahl = 13,760;
    

    Das Problem hat nicht mit Convert::To.. zu tun, sondern wie zahl initialisiert wird. Du möchtest vermutlich zahl den Wert 13,760 zuweisen - in C++/CLI muss man Floating-Point Zahlen im Code mit Punkt (.) angeben. Unglücklicherweise ist wegen dem Komma-Operator kein ungültiger Code entstanden, d.h. zahl hat nach der Initialisierung den Wert 13 - nicht das was du vermutlich wolltest.

    Versuche es mal so:

    Single zahl;
    zahl = 13.760f;
    

    Das f wird benötigt um dem Kompiler mitzuteilen, dass es sich bei dem Literal um eine Single-Precision Floating-Point Zahl handelt.



  • Hallo Theta,

    jupp, genau dass war die Lösung. War wohl wieder mal einer von meinen Anfängerfehler. Aber aus Fehler lernt man.

    Vielen Dank!

    Gruss


Anmelden zum Antworten