Mercurial > lada > lada-client
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',