Tre Geschrieben 10. Januar 2007 Teilen Geschrieben 10. Januar 2007 Hallo, ich möchte mit folgendem Code erreichen, dass nur Doublewerte angenommen werden und er ansonsten, den Dialog wiederholt: do { s = JOptionPane.showInputDialog ( "Bitte ersten Operanden eingeben" ); } while (!Pattern.matches("...", s)); Ich versuche schon stundenlang mit den verschiedensten Mitteln den richtigen Ausdruck dafür zu finden, viell. kann mir jemand helfen? Vielen Dank! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_Newlukai Geschrieben 10. Januar 2007 Teilen Geschrieben 10. Januar 2007 Pattern.matches("\\d*\\.\\d+", s) Genügt das? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Tre Geschrieben 10. Januar 2007 Autor Teilen Geschrieben 10. Januar 2007 Vielen Dank für die schnelle Antwort! Prima! Ich hatte mich etwas unpräsise ausgedrückt, es wäre schön wenn alle Möglichkeiten des Datentyps double gingen. Also auch z.B. 7 oder -54.245 Das wäre klasse. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_Newlukai Geschrieben 10. Januar 2007 Teilen Geschrieben 10. Januar 2007 So? Pattern.matches("-?\\d*\\.?\\d+", s); Kleiner Tipp: Hier findest Du die Syntax für reguläre Ausdrücke die von Pattern unterstützt wird. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Tre Geschrieben 10. Januar 2007 Autor Teilen Geschrieben 10. Januar 2007 Ja, klasse, es klappt! :marine Den Link hatte ich u.a. auch schon, aber ich habe den Eindruck, dass ich da ein grundsätzliches Problem habe. Ich kann damit überhaupt nichts anfangen. Kennst Du ein Tutorium das diese Regex - geschichte bzw. das mit den Pattern ausführlich erklärt? Danke. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
_Arvid_ Geschrieben 11. Januar 2007 Teilen Geschrieben 11. Januar 2007 Ich fand damals das Tutorial auf Regenechsen.de ganz nett. (Nein, "nett" an dieser Stelle nicht als "kleiner Bruder von Schei?e", sondern als "gut". ) Beste Grüße Arvid Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Tre Geschrieben 11. Januar 2007 Autor Teilen Geschrieben 11. Januar 2007 Danke, werd ich mir anschauen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jaraz Geschrieben 15. Januar 2007 Teilen Geschrieben 15. Januar 2007 Hi, dafür reicht ein double d=Double.parseDouble(s); Bei der Zeile einfach die NumberFormatException abfangen. Gruß Jaraz Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_Newlukai Geschrieben 15. Januar 2007 Teilen Geschrieben 15. Januar 2007 dafür reicht ein double d=Double.parseDouble(s); Bei der Zeile einfach die NumberFormatException abfangen. lol Den einfachen Weg hab' ich übersehen. Aber viele Wege führen ja nach Rom. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
perdian Geschrieben 15. Januar 2007 Teilen Geschrieben 15. Januar 2007 Den einfachen Weg hab' ich übersehen. Aber viele Wege führen ja nach Rom.Naja so einfach ist der Weg nicht, wenn erstmal verschiedene Locales auftauchen. Im amerikanischen Raum z.B. wäre das korrekte Format 1,234.56 wogegen wir in Deutschland wohl eher 1.234,56 schreiben würden. Double.parseDouble ist aber nur mit dem ersten Format wirklich glücklich Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.