Variable umwandeln oder so, kleines Anfängerproblem



  • Hallo,

    ich habe in C++ ein kleines Problem, ich will den Inhalt einer integer variable an ein textfeld übergeben.

    int zahl;
    zahl=5;
    TextFeld->Text=zahl;
    

    das funktioniert aber nicht weil er mir dann sagt:

    error C2664: 'void System::Windows::Forms::Control::Text::set(System::String ^)': Konvertierung des Parameters 1 von 'int' in 'System::String ^' nicht möglich

    Wie konvertiere ich denn das ganze hier so wie benötigt?
    Ist es auch möglich bei der Konvertierung ein"$" Symbol dranuhänden, anstatt "5" dann "5 $"?

    Gruß, JonnyBee



  • TextFeld->Text = zahl.ToString();
    

    Und mit dem $:

    TextFeld->Text = String::Format("{0} $", zahl);
    

    @MODS: => C++/CLI



  • Vielen Dank!



  • Dieser Thread wurde von Moderator/in CStoll aus dem Forum MFC (Visual C++) in das Forum C++/CLI mit .NET verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Hallo,

    viel Interessanter dürfte doch eigentlich das umgekehrte Problem sein:

    Der Anwender des Programms soll eine Integer-Zahl in das Textfeld eingeben.
    Wie kann man im Programm nun den vom Textfeld erhaltenen String
    einer Integer-Variable zuweisen ?

    Analog stellt sich das Problem natürlich für double usw...

    Wie geht das Programm außerdem mit Fehl-Eingaben um, also mit dem
    Fall, dass er Anwender gar keinen Integer-Wert eingegeben hat ?

    Über Antworten würde ich mich freuen...



  • Schau dir mal die Convert Klasse an.



  • Bzgl. Fehleingaben:
    Schau Dir mal
    - MaskedTextBox
    - ErrorProvider
    oder auch:
    - TextBox::Validating
    - TextBox::Validated

    Du kannst natürlich auch "try-catch" verwenden:

    try
    {
      int i = Convert::ToInt32(this->textBox1->Text);
    }
    catch(System::Exception^)
    {
      MessageBox::Show("Kann Text nicht in eine Zahl Konvertieren...");
    }
    

Log in to reply