String auf zahlenwert prüfen

Diskutiere String auf zahlenwert prüfen im Allgemeine Java-Themen Forum; Hallo!. ich möchte aus einem Textfeld eine Zahl auslesen. Bis jetzt ist es so, das ich den Textfeldinhalt in einem String gespeichert habe, und...

  1. Lucaaa
    Lucaaa Mitglied
    Hallo!.
    ich möchte aus einem Textfeld eine Zahl auslesen. Bis jetzt ist es so, das ich den Textfeldinhalt in einem String gespeichert habe, und der dann in ein Int umgewandelt wird. Das Problem dabei ist aber, dass wenn im Textfeld keine Zahlen stehen, sondern z.B. ein Buchstabe, die Konsole verrückt spielt. Gibt es eine Möglichkeit zu prüfen, ob es eine Zahl ist oder nicht? Oder gibt es spizielle Felder nur für Zahlen?
     
  2. Vielleicht hilft dir dieser Java-Kurs hier weiter --> (hier klicken)
  3. Cromewell
    Cromewell Aktives Mitglied
    Du musst die Umwandlung in ein Try und Catch packen, dann kannst du die Exception, die dabei geworfen wird, entsprechend behandeln :)
    Oder du kannst mittels Regex überprüfen, ob es eine Zahl ist.
    Gibt bestimmt noch mehr Methoden ^^
     
    VfL_Freak gefällt das.
  4. Jardcore
    Jardcore Aktives Mitglied
    Welches GUI Framework benutzt du? Swing, JavaFx... ?

    In JavaFX gibt es sehr elegante Möglichkeiten das zu realisieren.
     
  5. VfL_Freak
    VfL_Freak Bekanntes Mitglied
    Moin,

    dazu bedarf es IMHO nicht speziell JavaFX ;)
    Code (Java):

    if( "123".matches("\\d*") )
    {
        System.out.println( "is number" );
    }
    else
    {
        System.out.println( "not a number" );
    }
     
    oder
    Code (Java):

    try
    {
        Integer.parseInt( "12a3" );
        System.out.println( "is number" );
    }
    catch( NumberFormatException ex )
    {
        System.out.println( "not a number" );
    }
     
    oder hier: https://javabeginners.de/String/regular_expressions/Zahlen_erkennen.php
    Ist wohl Geschmackssache ...
    Gruß Klaus
     
  6. JCODA
    JCODA Aktives Mitglied
    Diese Methoden sind zwar unabhängig vom Framework, aber sind doch eher "falsch". Dieses Textfield soll ja explizit nur Zahlen annehmen.
    Deshalb ist die Frage nach dem Framework schon wichtig.
    Mit Swing kann man auch etwas mit "Document" hinbiegen, etwa: http://theunixshell.blogspot.de/2014/04/restricting-java-text-field-to-just.html
     
  7. Cromewell
    Cromewell Aktives Mitglied
    Auf der Seite, die du geschickt hast, wird genau das gemacht, was Klaus (darf ich das so sagen ? :D) und ich beschrieben haben :D
     
    Zuletzt bearbeitet: 3. Jan. 2017
  8. VfL_Freak
    VfL_Freak Bekanntes Mitglied
    klar darfst du :cool:

    was sollte daran falsch sein?? :eek:

    Gruß Klaus
     
  9. JCODA
    JCODA Aktives Mitglied
    Natürlich, aber eben so gesehen löst ihr ein Problem, welches auftritt. Meine Variante bzw. die im verlinkten Beitrag benutzt ein Document. Dort wird das Problem nicht "behandelt" sondern es wird verhindert.
     
  10. JCODA
    JCODA Aktives Mitglied
    Natürlich nicht falsch, sondern "falsch" ;) mit Anführungszeichen. Man sollte doch verhindern, dass man Buchstaben im Textfield eingeben kann, damit das "sauber" aussieht. Eure Lösung ist natürlich richtig, wenn es drum geht ein Teilproblem zu lösen, aber in diesem Kontext reicht es meiner Meinung nicht aus.
     
  11. VfL_Freak
    VfL_Freak Bekanntes Mitglied
    ok, so gesehen hast Du vlt. Recht, aber ob ein Anfänger nicht mit einem Document etwas überfordert ist ???
    Dann würde ich noch eher ein FormattedTextField vorschlagen :)
    http://www.java-forum.org/thema/jtextfield-darf-nur-zahlen-annehmen.83493/

    Gruß Klaus
     
    JCODA gefällt das.
Die Seite wird geladen...

String auf zahlenwert prüfen - Ähnliche Themen

String mit Zahlenwert --> ohne Nachkommastelle und ggf aufgerundet
String mit Zahlenwert --> ohne Nachkommastelle und ggf aufgerundet im Forum Java Basics - Anfänger-Themen
String array mit Zahlenwerten korrekt sortieren
String array mit Zahlenwerten korrekt sortieren im Forum Hausaufgaben
zahlenwerte im Typ string vergleichen/sortieren
zahlenwerte im Typ string vergleichen/sortieren im Forum Java Basics - Anfänger-Themen
String soll einen Zahlenwert ausgeben?
String soll einen Zahlenwert ausgeben? im Forum Java Basics - Anfänger-Themen
ASCII String zu int
ASCII String zu int im Forum Java Basics - Anfänger-Themen
Thema: String auf zahlenwert prüfen