Dezimalzahl nach genauem Muster parsen?



  • Hi,

    gibt es eine in Java enthaltene Klasse, mit der ich nach einem genauen Muster eine Zahl parsen kann? DecimalFormat/NumberFormat kommt leider nicht infrage, weil es scheinbar kaputt ist:

    Pattern "0,0.0", Eingabe "1119.0,9123456789" ergibt die Zahl: 11190.9123457.

    Was ich will: es sollen nur Zahlen als solche angesehen werden, die richtig mit Tausendertrennzeichen formatiert sind oder gar keine haben. Außerdem soll die Zahl maximal zwei Nachkommastellen beinhalten dürfen. Das kann DecimalFormat nicht. Gibt es da was anderes?



  • RegEx
    

    🙂



  • Die wollte ich gerne vermeiden, aber mir wird wohl nichts anderes übrig bleiben.



  • Regex:

    (([0-9])([0-9]{3}|\.[0-9]{3}))\,[0-9]{2}

    nich probiert...


  • Mod

    Parsender schrieb:

    Pattern "0,0.0", Eingabe "1119.0,9123456789" ergibt die Zahl: 11190.9123457.

    Ich vermute, dass das an der Lokalisierung der Trennzeichen liegt. In Deutschland nutzt man das Komma eben für etwas anderes als in englischsprachigen Ländern. Du solltest die Lokalisierung entsprechend umstellen können.


Log in to reply