diff options
| author | Kury Kruitbosch | 2013-02-11 14:21:15 -0700 |
|---|---|---|
| committer | Igor Minar | 2013-02-14 13:46:07 -0800 |
| commit | 75545d4d1c59192d781bb23d8bd2f72c9be37d38 (patch) | |
| tree | 359cdda4d068d0286138b386ec180dbe33a26a73 | |
| parent | d67eb2f2db1545cd85286824d70d2ffd9b837d28 (diff) | |
| download | angular.js-75545d4d1c59192d781bb23d8bd2f72c9be37d38.tar.bz2 | |
fix(numberFilter): fix formatting when "0" passed as fractionSize
When checking to add decimal and trialing 0s number filter used to check
trueness of fractionSize. "0" evaluating to true causes "123" to return "123."
| -rw-r--r-- | src/ng/filter/filters.js | 2 | ||||
| -rw-r--r-- | test/ng/filter/filtersSpec.js | 11 |
2 files changed, 12 insertions, 1 deletions
diff --git a/src/ng/filter/filters.js b/src/ng/filter/filters.js index 4a0f1d74..9ddb0142 100644 --- a/src/ng/filter/filters.js +++ b/src/ng/filter/filters.js @@ -168,7 +168,7 @@ function formatNumber(number, pattern, groupSep, decimalSep, fractionSize) { fraction += '0'; } - if (fractionSize) formatedText += decimalSep + fraction.substr(0, fractionSize); + if (fractionSize && fractionSize !== "0") formatedText += decimalSep + fraction.substr(0, fractionSize); } parts.push(isNegative ? pattern.negPre : pattern.posPre); diff --git a/test/ng/filter/filtersSpec.js b/test/ng/filter/filtersSpec.js index f7e775ee..c9ed7949 100644 --- a/test/ng/filter/filtersSpec.js +++ b/test/ng/filter/filtersSpec.js @@ -71,6 +71,17 @@ describe('filters', function() { var num = formatNumber(123.1116, pattern, ',', '.'); expect(num).toBe('123.112'); }); + + it('should format the same with string as well as numeric fractionSize', function(){ + var num = formatNumber(123.1, pattern, ',', '.', "0"); + expect(num).toBe('123'); + var num = formatNumber(123.1, pattern, ',', '.', 0); + expect(num).toBe('123'); + var num = formatNumber(123.1, pattern, ',', '.', "3"); + expect(num).toBe('123.100'); + var num = formatNumber(123.1, pattern, ',', '.', 3); + expect(num).toBe('123.100'); + }); }); describe('currency', function() { |
