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. nichtvielen 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