Taschenrechner



  • Hallo zusammen

    wollte mal als Übung einen Taschenrechner programmieren. aber ich kann komischer weise nicht überall Werte mit Kommas eingeben oder ausgeben (StrToFloat) funktioniert nicht immer. was kann ich tun? Das einzige was geht ist hochrechnen und wurzel ziehen...

    Label4->Caption=StrToInt(Edit1->Text) + StrToInt(Edit2->Text); -->funkt. nicht
    Label5->Caption=StrToInt(Edit3->Text) * StrToInt(Edit4->Text); -->funkt. nicht
    Label6->Caption=StrToInt(Edit5->Text)/ StrToInt(Edit6->Text);-->funkt. nicht
    Label7->Caption=(StrToInt(Edit7->Text)- StrToInt(Edit8->Text));-->funkt. nicht
    Label8->Caption=pow(StrToFloat(Edit9->Text),StrToFloat(Edit10->Text));-->funktioniert!!!!!
    Label9->Caption=sqrt(StrToFloat(Edit11->Text));-->funktioniert!!!
    Label10->Caption=M_PI * StrToInt(Edit12->Text);-->funkt. nicht

    vielen dank für eure Antworten.

    mfg

    michi



  • Die Beiden die gehen sind auch die Einzigen bei denen Du StrToFloat benutzt hast, sonst lese ich nur StrToInt.
    So geht es übrigens auch:

    Label4->Caption = Edit1->Text.ToDouble() + Edit1->Text.ToDouble();
    

    Gruß myerscola



  • Label4->Caption=StrToInt(Edit1->Text) + StrToInt(Edit2->Text);

    Du wandelst die Strings richig in Integer um. Das Label nimmt aber nur Strings an. Du musst deine verrechneten Integer also wieder zurückwandeln.

    Label4->Caption=IntToStr(StrToInt(Edit1->Text) + StrToInt(Edit2->Text));
    


  • Ich habs bei allen probiert, aber es ging leider nicht! 😞



  • Label4->Caption=IntToStr(StrToInt(Edit1->Text) + StrToInt(Edit2->Text));
    wie geht das mit dem zurückwandeln?



  • Naja, so wie ich das geschrieben haben mit IntToStr



  • Der Code von Michi muss auch gehen, nur halt nicht mit Kommazahlen. Also schau dir nochmal meine erste Antwort an, das geht definitiv.

    Edit: sorry, der von chaz



  • Label4->Caption = Edit1->Text.ToDouble() + Edit1->Text.ToDouble();

    Danke viel mals das funktioniert. aber nur auf eine Stelle nach dem Komma. gibt es noch eine andere möglichkeit?



  • kann nicht sein, ist Dein Label breit genug?



  • Uppppsssss, 🙄

    Danke für dein Tip, hat sich somit erledigt 🙂


Anmelden zum Antworten