diff --git a/src/global/number/number.test.js b/src/global/number/number.test.js index 5803da01..636ced4d 100644 --- a/src/global/number/number.test.js +++ b/src/global/number/number.test.js @@ -111,6 +111,16 @@ describe('ui-number-mask', function() { }); })); + it('should show zero when the model value is zero and the precision is set to 0', inject(function($rootScope) { + var input = TestUtil.compile(''); + var model = input.controller('ngModel'); + + + $rootScope.model = 0; + $rootScope.$digest(); + expect(model.$viewValue).toBe('0'); + })); + it('should accept negative numbers if "ui-negative-number" is defined', function() { var input = TestUtil.compile(''); var model = input.controller('ngModel'); diff --git a/src/helpers.js b/src/helpers.js index 33375064..52b81d17 100644 --- a/src/helpers.js +++ b/src/helpers.js @@ -6,9 +6,12 @@ module.exports = m.name; m.factory('PreFormatters', [function(){ function clearDelimitersAndLeadingZeros(value) { + if (value === '0') { + return '0'; + } + var cleanValue = value.replace(/^-/,'').replace(/^0*/, ''); - cleanValue = cleanValue.replace(/[^0-9]/g, ''); - return cleanValue; + return cleanValue.replace(/[^0-9]/g, ''); } function prepareNumberToFormatter (value, decimals) {