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) {