Benutzer mit den meisten Antworten
Punkt statt Komma in Textbox

Frage
-
Hallo!
Ich möchte eine Art Taschenrechner programmieren.
Dazu habe ich drei Textboxen.
Neben jeder Textbox ist ein Button "Rechne"
Es soll so werden, das die Textbox die mit dem nebenstehenden Button angewählt wir, ausgerechnet wird.
Die Lösung der Rechnung wird dann in der Textbox angezeigt.
Jetzt habe ich ein Problem:
In der Textbox erscheint ein Komma anstatt eines Punktes in einer Zahl -> 123,456
Sobald ich damit weiter rechnen will, geht das nicht, da ich einen Punkt als Dezimaltrennzeichen brauche.
Ich habe einen Code gefunden, um nur bestimmte Zeichen eingeben zu können. Damit kann ich die Eingabe entsprechend begrenzen auf 0-9 und auch "." wenn es sein muss....das ist kein Problem.
Ich habe bemerkt das eine einfache Rechnung wie X=12*34/100 die Zahl "4,08" anstatt "4.08" ergibt !!!!
Wie stelle ich das auf den Punkt um ?
Antworten
-
Hallo Anfänger2007!
Um alle Kommata eines Strings mit einem Punkt zu ersetzen benutze am besten diese Methode:
Code SnippetTextBox1.Text.Replace(",", ".")
Damit wird jedoch nur der String an sich geändert, um ihn auch in der Textbox anzuzeigen musst du wie üblich verfahren, sprich:
Code SnippetTextBox1.Text = TextBox1.Text.Replace(",", ".")
Umgekehrt funktioniert dies natürlich auch!
Ich würde dir aber auch eher empfehlen den Benutzer Kommata schreiben zu lassen.
Hättest du bspw. zwei Textboxen und möchtest deren Inhalt addieren, obwohl der Benutzer anstatt Punkten Kommata verwendet hat würde dies wie folgt aussehen:Code Snippet' Inhalte in die Textboxen einsetzen
TextBox1.Text =
"33,33"TextBox2.Text =
"66,66"MsgBox(
CType(TextBox1.Text, Double) + CType(TextBox2.Text, Double)
Ich hoffe mal ich habe alles anschaulich und verständlich genug beschrieben und konnte dir etwas helfen.
MFG
!Tocs!
- Als Antwort markiert Thorsten Dörfler Samstag, 17. Juli 2010 21:48
Alle Antworten
-
Hallo Anfänger2007!
Um alle Kommata eines Strings mit einem Punkt zu ersetzen benutze am besten diese Methode:
Code SnippetTextBox1.Text.Replace(",", ".")
Damit wird jedoch nur der String an sich geändert, um ihn auch in der Textbox anzuzeigen musst du wie üblich verfahren, sprich:
Code SnippetTextBox1.Text = TextBox1.Text.Replace(",", ".")
Umgekehrt funktioniert dies natürlich auch!
Ich würde dir aber auch eher empfehlen den Benutzer Kommata schreiben zu lassen.
Hättest du bspw. zwei Textboxen und möchtest deren Inhalt addieren, obwohl der Benutzer anstatt Punkten Kommata verwendet hat würde dies wie folgt aussehen:Code Snippet' Inhalte in die Textboxen einsetzen
TextBox1.Text =
"33,33"TextBox2.Text =
"66,66"MsgBox(
CType(TextBox1.Text, Double) + CType(TextBox2.Text, Double)
Ich hoffe mal ich habe alles anschaulich und verständlich genug beschrieben und konnte dir etwas helfen.
MFG
!Tocs!
- Als Antwort markiert Thorsten Dörfler Samstag, 17. Juli 2010 21:48
-