Punkt in Texteingabe finden Punkt in Texteingabe finden
Ergebnis 1 bis 6 von 6
  1. 15.02.2012, 18:02
    #1
    Hallo Leute,
    dank eurer Unterstützung bin ich die ganze Woche gut voran gekommen, aber heute habe ich ein besonderes Brett vorm Kop!
    Ich habe eine TextBox in die der Anwender Zahlen eingeben soll. Dazu habe ich mit InputScope InputScopeNameValue.Number; die Onscreen Tastatur auf Zahleneingabe eingestellt. Leider ist auf dem Tastenfeld ein Punkt enthalten und wenn der eingegeben wird, funktioniert meine anschließende Berechnung nicht.

    Ich wollte das jetzt mit einer if / else Anweisung machen aber so wie ich das sehe gibts dazu keinen passenden Operator mit dem ich prüfen kann "enthält einen ."
    Habt ihr einen Tipp für mich?

    Gruß
    Det
    0
     

  2. sobald ein Punkt verwendet wird, ist es kein Integer mehr. Dann kannst du z.B. einfach überprüfen, ob es sich bei der Zahl um einen Integer handelt...

    Gruss casaout
    1
     

  3. 15.02.2012, 20:16
    #3
    Wenn du in einem Text prüfen willst ob ein bestimmtes Zeichen oder eine bestimmte Zeichenfolge enthalten ist verwendest du am besten die Methode "IndexOf". Diese gibt dir die erste Position in dem String zurück an dem die gesuchte Zeichenfolge auftritt. Taucht sie nicht auf so gibt IndexOf den Wert -1 zurück.

    D.h. "bla.blub".IndexOf(".") == 3
    "blablub".IndexOf(".") == -1

    Du kannst natürlich auch hergehen und den Text aus dem Eingabefeld zuerst als Decimal parsen und dann nach Integer casten (dabei wird dann der Nachkommaanteil einfach verworfen.

    Also:

    int myNumber = (int)Decimal.Parse(textBox.Text);

    Wobei, wenn es ein Punkt ist und kein Komma, dann musst du das ganze mit der InvariantCulture parsen, sonst interpretiert er den Punkt nicht als Komma.
    1
     

  4. 15.02.2012, 21:50
    #4
    Hallo zusammen,

    danke für die schnelle Hilfe!

    Ich habe es dann mit:
    D.h. "bla.blub".IndexOf(".") == 3
    "blablub".IndexOf(".") == -1

    sehr schnell lösen können und habe dabei wieder etwas gelernt (so muss das sein)!
    Ich danke euch sehr !!!
    0
     

  5. int number;
    if(int.TryParse(text, out number))
    {
    //korrekt
    }
    else
    {
    Es ist ein Fehler aufgetreten
    }

    So fängst du auch ab, dass zahlen zu groß sein können um sie als Integer zu schreiben. Da hast du die Rundum-Sorglos-Lösung
    1
     

  6. Dürfte ich mal Fragen warum ihr dies mit IndexOf umständlich lösen wollt, wenn man doch die Methode Contains bei Strings hat?

    (Code aus dem Kopf geschrieben, sollte aber so funktionieren)
    Code:
    String number = "132132.123123";
    if(number.Contains(".") == true)
     number = number.Replace(".", "");
    //Wobei man auch direkt nur das Replace verwenden kann ohne die if abfrage
    //code von pdelvo
    Und als kleine Info. Ich würde Punkte und Kommas einfach ignorieren und so tun als wäre dieser nicht vorhanden, weil je nach Region der Punkt/das Komma von Usern benutzt werden könnte bei der Eingabe um bei großen Zahlen die Tausender Stellen zu trennen.
    So lange du nur integer betrachtest musst du dir um die Culture allerdings keine gedanken machen.
    1
     

Ähnliche Themen

  1. Grossschreibung nach Punkt abstellen
    Von Nitrox im Forum Windows Phone 7 Allgemein
    Antworten: 4
    Letzter Beitrag: 28.10.2011, 06:24
  2. automatische Texteingabe
    Von Unregistriert im Forum HTC S710
    Antworten: 0
    Letzter Beitrag: 12.08.2010, 16:10
  3. Andere Texteingabe
    Von STENI1975 im Forum HTC HD2 Programme
    Antworten: 6
    Letzter Beitrag: 07.08.2010, 09:10
  4. SMS -EMAIL Grossbuchstabe Satzanfang/Punkt
    Von ths180 im Forum HTC HD2 Kommunikation
    Antworten: 5
    Letzter Beitrag: 17.03.2010, 21:21

Stichworte