Index: number.module
===================================================================
--- number.module	(revision 2347)
+++ number.module	(working copy)
@@ -52,6 +52,13 @@
         '#default_value' => isset($field['suffix']) ? $field['suffix'] : '',
         '#description' => t('Define a string that should suffixed to the value, like m², m/s², kb/s. Leave blank for none. Separate singular and plural values with a pipe (pound|pounds). '),
       );
+      $form['decimal_separator'] = array(
+        '#type' => 'textfield',
+        '#title' => t('Decimal Separator'),
+        '#size' => 5,
+        '#default_value' => isset($field['decimal_separator']) ? $field['decimal_separator'] : '.',
+        '#description' => t('Define how decimals are separated'),
+      );
       $form['allowed_values'] = array(
         '#type' => 'textarea',
         '#title' => t('Allowed values list'),
@@ -85,7 +92,7 @@
       break;
 
     case 'save':
-      return array('prefix', 'suffix', 'append_position', 'min', 'max', 'allowed_values', 'allowed_values_php');
+      return array('prefix', 'suffix', 'append_position', 'min', 'max', 'allowed_values', 'allowed_values_php', 'decimal_separator');
 
     case 'database columns':
       if ($field['type'] == 'number_integer') {
@@ -326,7 +333,11 @@
     case 'process form values':
       // Don't save empty fields.
       foreach ($items as $delta => $item) {
+        if ($field['type'] == 'number_decimal') {
+          $items[$delta]['value'] = str_replace($field['decimal_separator'], ',', $items[$delta]['value']);
+        }
         $items[$delta]['value'] = preg_replace('@[^-0-9\.]@', '', $items[$delta]['value']);
+        dpm($items[$delta]['value']);
       }
       if ($field['multiple']) {
         foreach ($items as $delta => $item) {
