| Index: lib/src/intl/number_format.dart
|
| diff --git a/lib/src/intl/number_format.dart b/lib/src/intl/number_format.dart
|
| index 2e23d358e7947d871e761cb063ff613886cc5b42..db4c7a4a53204c2eafc9c7df7edb01033a5fbec9 100644
|
| --- a/lib/src/intl/number_format.dart
|
| +++ b/lib/src/intl/number_format.dart
|
| @@ -310,7 +310,7 @@ class NumberFormat {
|
| var integerDigits = _integerDigits(integerPart, extraIntegerDigits);
|
| var digitLength = integerDigits.length;
|
|
|
| - if (_hasPrintableIntegerPart(integerPart)) {
|
| + if (_hasIntegerDigits(integerDigits)) {
|
| _pad(minimumIntegerDigits - digitLength);
|
| for (var i = 0; i < digitLength; i++) {
|
| _addDigit(integerDigits.codeUnitAt(i));
|
| @@ -386,11 +386,12 @@ class NumberFormat {
|
|
|
| /**
|
| * Return true if we have a main integer part which is printable, either
|
| - * because we have digits left of the decimal point, or because there are
|
| - * a minimum number of printable digits greater than 1.
|
| + * because we have digits left of the decimal point (this may include digits
|
| + * which have been moved left because of percent or permille formatting),
|
| + * or because the minimum number of printable digits is greater than 1.
|
| */
|
| - bool _hasPrintableIntegerPart(x) =>
|
| - x > 0 || minimumIntegerDigits > 0;
|
| + bool _hasIntegerDigits(String digits) =>
|
| + digits.isNotEmpty || minimumIntegerDigits > 0;
|
|
|
| /** A group of methods that provide support for writing digits and other
|
| * required characters into [_buffer] easily.
|
|
|