Float In CF und Javascript: «.» oder «,» ?

Marco Betschart, Webapplikations-Programmierer, bis 2010

Bei einer Formularüberprüfung fallen ja immer wieder unterschiedliche Datentypen an, wie zum Beispiel Datum, Ganzzahl etc. Sollte es einmal eine Fliesskommazahl sein, müssen einige Dinge beachtet werden.

Überprüfung des Formularfelds mit JavaScript

Das Formularfeld wird mit Hilfe der Funktion "parseFloat()" geparst. Diese Funktion kann allerdings nur Fliesskommazahlen mit "." als Dezimalzeichen auswerten. Also muss als erstes ein möglicherweise vorhandenes Komma ersetzt werden.

ColdFusion

Sobald das Formularfeld in die Datenbank geschrieben worden ist, muss erneut das Komma berücksichtigt werden. Es verursacht einen Syntaxfehler.
Beispiel

1INSERT INTO tbl (float) VALUES (1,35)

Ein cfqueryparam an dieser Stelle verursacht ebenfalls einen Fehler. Sobald das "," durch einen Punkt ersetzt wird, funktionieren beide Varianten. Auf der sicheren Seite ist man also grundsätzlich wenn ein Komma im Voraus durch ein Punkt ersetzt wird.