Group padding digits to the left of the number
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=160470967
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 312b6d3..b4355e9 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,6 @@
+## 0.15.2
+ * Group the padding digits to the left of the number, if present. e.g. 00,001.
+
## 0.15.1
* Use the platform.locale API to get the OS platform.
* Convert to use package:test
diff --git a/lib/src/intl/number_format.dart b/lib/src/intl/number_format.dart
index ae6428b..df4140a 100644
--- a/lib/src/intl/number_format.dart
+++ b/lib/src/intl/number_format.dart
@@ -761,7 +761,10 @@
fractionDigits > 0 && (minimumFractionDigits > 0 || fractionPart > 0);
if (_hasIntegerDigits(integerDigits)) {
- _padEmpty(minimumIntegerDigits - digitLength);
+ // Add the padding digits to the regular digits so that we get grouping.
+ var padding = symbols.ZERO_DIGIT * (minimumIntegerDigits - digitLength);
+ integerDigits = "$padding$integerDigits";
+ digitLength = integerDigits.length;
for (var i = 0; i < digitLength; i++) {
_addDigit(integerDigits.codeUnitAt(i));
_group(digitLength, i);
diff --git a/pubspec.yaml b/pubspec.yaml
index a4b3315..1a70bd7 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
name: intl
-version: 0.15.1
+version: 0.15.2-dev
author: Dart Team <misc@dartlang.org>
description: Contains code to deal with internationalized/localized messages, date and number formatting and parsing, bi-directional text, and other internationalization issues.
homepage: https://github.com/dart-lang/intl
diff --git a/test/number_format_test.dart b/test/number_format_test.dart
index 8ba75e4..d40a5c7 100644
--- a/test/number_format_test.dart
+++ b/test/number_format_test.dart
@@ -105,6 +105,24 @@
}
});
+ test('Padding left', () {
+ var expected = [
+ '1',
+ '1',
+ '01',
+ '001',
+ '0,001',
+ '00,001',
+ '000,001',
+ '0,000,001'
+ ];
+ for (var i = 0; i < 7; i++) {
+ var f = new NumberFormat.decimalPattern();
+ f.minimumIntegerDigits = i;
+ expect(f.format(1), expected[i]);
+ }
+ });
+
test('Exponential form', () {
var number = new NumberFormat("#.###E0");
for (var x in testExponential.keys) {