Hallo zusammen,
ich habe ein Regex gebastelt, um zu überprüfen, ob es sich bei einem eingegebenen String um eine gültige Dezimalzahl handelt. Gültig ist eine Dezimalzahl mit Tausendertrennzeichen und Dezimaltrennzeichen.
Nun sollen unterschiedlich viele Nachkommastellen zugelassen sein, aber irgendwie funktioniert es nicht.
Mein Regex sieht so aus:
"(([1-9]\\d{0,2})(.\\d{3})*)(,\\d{1," + fraction + "})?"
fraction gibt dabei die zugelassenen Nachkommastellen an.
Wenn ich 3, 4 oder 5, usw. übergebe funktioniert alles wunderbar. Zahlen mit entsprechen 3, 4 oder 5 usw. werden akzeptiert und Zahlen mit mehr Nachkommastellen werden abgewiesen.
Wenn ich aber 2 als Wert übergeben, dann werden trotzdem auch Zahlen mit 3 Nachkommastellen akzeptiert :shock:, aber nicht mit 4 oder mehr. Und ich versteh nicht warum
Hoffe Ihr könnt mir helfen... hab ich irgendwas übersehen?
Bin nämlich nicht so fit was Regex angeht :roll:
Achso... und noch eine kurze Frage. Kann man irgendwie einfach ermitteln an welcher Stelle der Regexfehler aufgetreten ist? Also an wie vielter Stelle im String der erste Fehler war?
Gruß
Sandra
ich habe ein Regex gebastelt, um zu überprüfen, ob es sich bei einem eingegebenen String um eine gültige Dezimalzahl handelt. Gültig ist eine Dezimalzahl mit Tausendertrennzeichen und Dezimaltrennzeichen.
Nun sollen unterschiedlich viele Nachkommastellen zugelassen sein, aber irgendwie funktioniert es nicht.
Mein Regex sieht so aus:
"(([1-9]\\d{0,2})(.\\d{3})*)(,\\d{1," + fraction + "})?"
fraction gibt dabei die zugelassenen Nachkommastellen an.
Wenn ich 3, 4 oder 5, usw. übergebe funktioniert alles wunderbar. Zahlen mit entsprechen 3, 4 oder 5 usw. werden akzeptiert und Zahlen mit mehr Nachkommastellen werden abgewiesen.
Wenn ich aber 2 als Wert übergeben, dann werden trotzdem auch Zahlen mit 3 Nachkommastellen akzeptiert :shock:, aber nicht mit 4 oder mehr. Und ich versteh nicht warum
Hoffe Ihr könnt mir helfen... hab ich irgendwas übersehen?
Bin nämlich nicht so fit was Regex angeht :roll:
Achso... und noch eine kurze Frage. Kann man irgendwie einfach ermitteln an welcher Stelle der Regexfehler aufgetreten ist? Also an wie vielter Stelle im String der erste Fehler war?
Gruß
Sandra