diff --git a/src/ng/filter/filters.js b/src/ng/filter/filters.js index 8afe2a0ffab5..b968b1b3d08f 100644 --- a/src/ng/filter/filters.js +++ b/src/ng/filter/filters.js @@ -37,6 +37,7 @@ input('amount').enter('-1234'); expect(binding('amount | currency')).toBe('($1,234.00)'); expect(binding('amount | currency:"USD$"')).toBe('(USD$1,234.00)'); + expect(binding('amount | currency:"$":0')).toBe('(USD$1,234)'); }); @@ -44,9 +45,10 @@ currencyFilter.$inject = ['$locale']; function currencyFilter($locale) { var formats = $locale.NUMBER_FORMATS; - return function(amount, currencySymbol){ + return function(amount, currencySymbol, fractionSize){ if (isUndefined(currencySymbol)) currencySymbol = formats.CURRENCY_SYM; - return formatNumber(amount, formats.PATTERNS[1], formats.GROUP_SEP, formats.DECIMAL_SEP, 2). + if (isUndefined(fractionSize) || isNaN(fractionSize) fractionSize = 2; + return formatNumber(amount, formats.PATTERNS[1], formats.GROUP_SEP, formats.DECIMAL_SEP, fractionSize). replace(/\u00A4/g, currencySymbol); }; } diff --git a/test/ng/filter/filtersSpec.js b/test/ng/filter/filtersSpec.js index 598837994247..5102dc9bc09f 100644 --- a/test/ng/filter/filtersSpec.js +++ b/test/ng/filter/filtersSpec.js @@ -95,6 +95,7 @@ describe('filters', function() { expect(currency(0)).toEqual('$0.00'); expect(currency(-999)).toEqual('($999.00)'); expect(currency(1234.5678, "USD$")).toEqual('USD$1,234.57'); + expect(currency(1234.5678, "USD$", 0)).toEqual('USD$1,234'); });