C# Taschenrechner Punkt auf 2 limitieren?

...komplette Frage anzeigen

2 Antworten

Sauber würdest du das mit einem regulären Ausdruck (Regex) anstatt dem If-Else-Gemetzel lösen. Damit könnte man deinen Code möglicherweise auf ein einziges kurzes if runterbrechen und das hier

textBox1.Text = textBox1.Text;

sieht schon irgendwie nicht schön aus - gerade, wenn es mehrfach gemacht wird. 

Hier in der obersten Antwort ist

https://social.msdn.microsoft.com/Forums/vstudio/en-US/ca0aa541-e65c-4675-9c1e-ea4aac45eccb/validate-textbox-with-regular-expressions?forum=csharpgeneral

ist ein Eingabefeld, das nur 7 bis 11 Ziffern zulässt, den Regex müsstest du dir anpassen. Eine Möglichkeit für den Regex-String wäre möglicherweise das hier

https://stackoverflow.com/questions/1631820/regular-expression-to-match-digits-and-basic-math-operators

Ich verstehe, Regexe sind kompliziert, aber es ist mMn. trotzdem sinnvoll, zu verstehen, wie man sie sinnvoll einsetzt.

Bsp. zur Bestimmung der Anzahl Punkte in der TextBox (über Linq):

Snippet

private void button1_Click(object sender, EventArgs e)
{
    int pointCount = textBox1.Text.Count(x => x == '.');
    MessageBox.Show("Anzahl Punkte: " + pointCount);
}
Brainchild 09.08.2017, 10:48

Du solltest den string in der Textbox parsen um die Eingabe zu verifizieren.

0

Was möchtest Du wissen?