diff app/model/Messwert.js @ 1095:14c130767e44

Backout accidentally commited changes from rev 9a0f7712f366.
author Tom Gottfried <tom@intevation.de>
date Tue, 10 May 2016 15:30:11 +0200
parents 9a0f7712f366
children b73f9a976c82
line wrap: on
line diff
--- a/app/model/Messwert.js	Tue May 10 15:10:21 2016 +0200
+++ b/app/model/Messwert.js	Tue May 10 15:30:11 2016 +0200
@@ -42,11 +42,37 @@
                 return value;
             }
             var valueString = value.toString();
-            if (valueString.indexOf(',') > 0) {
-                valueString.replace(',', '.');
+            if (valueString.indexOf('E') > 0) {
+                valueString = valueString.replace('E', 'e');
             }
-            return parseFloat(valueString).toExponential(2).toString()
-                .replace('.', ',');
+            var tmp;
+            if (valueString.indexOf('e') > 0) {
+                tmp = valueString;
+            }
+            else {
+                // Currently not locale friendly...
+                if (valueString.indexOf(',') > 0) {
+                    valueString = valueString.replace(',', '.');
+                }
+                tmp = parseFloat(valueString).toExponential();
+            }
+            var parts = tmp.split('e');
+            if (parts[0].indexOf('.') > 0) {
+                var floatPart = parseFloat(parts[0]);
+                var separator = floatPart.toFixed(2).toLocaleString().replace(/[-\d]/g, '');
+                parts[0] = floatPart.toFixed(2).replace('.', separator);
+            }
+            else if (parts[0].indexOf(',') < 0) {
+                parts[0] = parts[0] + ',00';
+            }
+            var intPart = parseInt(parts[1]);
+            if (intPart < 10 && intPart >= 0) {
+                parts[1] = '+0' + parseInt(parts[1]);
+            }
+            else if (intPart < 0 && intPart > -10) {
+                parts[1] = parts[1].replace('-', '-0');
+            }
+            return parts[0] + 'e' + parts[1];
         }
     }, {
         name: 'messwertNwg',

http://lada.wald.intevation.org