In Visual mit C# Taschenrechner?
Kann mir jemand helfen bei diesem Problem?
Und zwar wird im Taschenrechner ein Wert eingeben und gespeichert und dann unter der Eingabe angezeigt, um die nächste Zahl einzugeben.
Dies muss ja als String deklariert werden, wegen den Operatoren. Aber nun kann ich aus der Zahl, die ein String ist, in eine Zahl zu konvertieren.
private void berechne_Click(object sender, EventArgs e)
{
double zahl2 = Convert.ToDouble(zahl);
double Eingabe = Convert.ToDouble(TEingabe.Text);
if (calc == "+")
{
TEingabe.Text = zahl + TEingabe.Text;
}
if (calc == "-")
{
TEingabe.Text = zahl2 - Eingabe;
}
if (calc == "*")
{
TEingabe.Text = zahl2 * Eingabe;
}
if (calc == "/")
{
TEingabe.Text = zahl2 / Eingabe;
}
2 Antworten
Beispiel:
double number1 = Convert.ToDouble(Number1Field.Text);
double number1 = Convert.ToDouble(Number2Field.Text);
double sum = number1 + number2;
SumField.Text = sum.ToString();
// or:
SumField.Text = Convert.ToString(sum);
Ich würde dir im Übrigen ebenso zu einem switch-case oder if-else if raten.
if (operator == "+")
{
// ...
}
else if (operator == "-")
{
// ...
}
// etc. ...
Aktuell klapperst du jede Abfrage ab, auch wenn gewiss ist, dass nur eine wahr sein wird. Mit den oben genannten Kontrollstrukturen hingegen besteht die Chance, dass im besten Fall nur eine Bedingung geprüft werden muss.
Ja und wo ist jetzt Dein Problem?
Tipp 1: statt den ganzen if-s wäre ein switch+case eleganter
Tipp 2: Trenne Ein- und Ausgabe von Logik! Das bedeutet: Hab deine ganzen Zahlen als double in dem Taschenrechner-Objekt. Bei der Ausgabe oder nach der Eingabe kannst Du sie nach/von string zu Double konvertieren.