none
Punkt statt Komma in Textbox RRS feed

  • 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 ?

     

     

     

    Dienstag, 12. Juni 2007 15:24

Antworten


  • Hallo Anfänger2007!

    Um alle Kommata eines Strings mit einem Punkt zu ersetzen benutze am besten diese Methode:

    Code Snippet
    TextBox1.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 Snippet
    TextBox1.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"

     

    ' Rechnung durchführen

    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!

    Dienstag, 12. Juni 2007 16:54

Alle Antworten


  • Hallo Anfänger2007!

    Um alle Kommata eines Strings mit einem Punkt zu ersetzen benutze am besten diese Methode:

    Code Snippet
    TextBox1.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 Snippet
    TextBox1.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"

     

    ' Rechnung durchführen

    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!

    Dienstag, 12. Juni 2007 16:54
  • Hallo!

     

    DANKE !!!

     

    Genau sowas habe ich gesucht !

    Donnerstag, 14. Juni 2007 19:09
  • Hallo, achten sie vieleicht auch bitte daran, dass es an euerer Computereinstellung liegen kann, denn ihr wisst ja, die amerikaner benutzen anstelle des Punkes einen Komma.

    Ihr könnt das ganz einfach bei den Regionaleinstellungen überprüfen.

    Sonntag, 15. Juli 2007 22:09