Moin!
Oder muss ich jetzt mühsam den ganzen String Zeichen für Zeichen auf Gültigkeit prüfen ?
Nein. Ersetze eventuelle Kommas[1] durch Punkte, und alles ist grün.
[1] Unter Berücksichtigung von Zahlenformaten wie "1,249.99".
_Diese_ Aufgabenstellung ist vom Computer unlösbar. Denn deine Beispielzahl kann sowohl "1249 dezimalpunkt 99" bedeuten, als auch "1 dezimalpunkt 24999". Auch Nachkommastellen kann man schließlich per Tausendertrennzeichen trennen.
Der Duden empfiehlt zur optischen Auflockerung übrigens das Leerzeichen sowohl vor als auch hinter dem Komma, weil es sonst eben zu Verwechslungen kommen kann. In HTML hätte diese Methode aber zur Folge, dass Zahlen mittendrin umbrochen werden könnten, so dass man eigentlich lieber nehmen sollte. Oder eben den Punkt, was eben zu Mehrdeutigkeiten führen kann.
Allerdings ist sehr unwahrscheinlich, dass Benutzereingaben mit Tausendertrennzeichen erfolgen, so dass eine Umwandlung aller Kommas in Punkte im Prinzip ausreichen sollte. Natürlich empfehlen sich ggf. Tests, ob im String nicht vielleicht beide Zeichen vorhanden sind. Diesen sollte man dann im Zweifel zurückweisen.
- Sven Rautenberg
"Beim Stuff für's Web gibts kein Material, was sonst das Zeugs ist, aus dem die Sachen sind."
(fastix®, 13. Oktober 2003, 02:26 Uhr -> </archiv/2003/10/60137/#m338340>)