diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/ng/filter/filters.js | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/ng/filter/filters.js b/src/ng/filter/filters.js index 376afd85..57186981 100644 --- a/src/ng/filter/filters.js +++ b/src/ng/filter/filters.js @@ -117,9 +117,18 @@ function formatNumber(number, pattern, groupSep, decimalSep, fractionSize) { formatedText = '', parts = []; + var hasExponent = false; if (numStr.indexOf('e') !== -1) { - formatedText = numStr; - } else { + var match = numStr.match(/([\d\.]+)e(-?)(\d+)/); + if (match && match[2] == '-' && match[3] > fractionSize + 1) { + numStr = '0'; + } else { + formatedText = numStr; + hasExponent = true; + } + } + + if (!hasExponent) { var fractionLen = (numStr.split(DECIMAL_SEP)[1] || '').length; // determine fractionSize if it is not specified |
