# HG changeset patch # User Tom Gottfried # Date 1462887011 -7200 # Node ID 14c130767e440a27d446e0f43aba8c7c71de26d3 # Parent 677fc5e620555925fd019f0962dc659117cbff54 Backout accidentally commited changes from rev 9a0f7712f366. diff -r 677fc5e62055 -r 14c130767e44 app/model/Messwert.js --- 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',