From 3a1ee31d7685f5c58b0b62cac0d2976f6eecd746 Mon Sep 17 00:00:00 2001 From: Shane Carr Date: Wed, 29 Nov 2017 23:44:28 +0000 Subject: [PATCH] ICU-13442 Fixing checks for whether or not grouping is enabled. A grouping size of zero means that grouping is disabled. X-SVN-Rev: 40677 --- .../main/classes/core/src/com/ibm/icu/impl/number/Parse.java | 4 ++-- .../main/classes/core/src/com/ibm/icu/text/DecimalFormat.java | 2 +- .../src/com/ibm/icu/dev/test/format/NumberFormatTest.java | 1 + 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/icu4j/main/classes/core/src/com/ibm/icu/impl/number/Parse.java b/icu4j/main/classes/core/src/com/ibm/icu/impl/number/Parse.java index 50d0f3c70ee..efb0e5002d8 100644 --- a/icu4j/main/classes/core/src/com/ibm/icu/impl/number/Parse.java +++ b/icu4j/main/classes/core/src/com/ibm/icu/impl/number/Parse.java @@ -979,7 +979,7 @@ public class Parse { if (mode == null) mode = ParseMode.LENIENT; boolean integerOnly = properties.getParseIntegerOnly(); boolean ignoreExponent = properties.getParseNoExponent(); - boolean ignoreGrouping = properties.getGroupingSize() < 0; + boolean ignoreGrouping = properties.getGroupingSize() <= 0; // Set up the initial state ParserState state = threadLocalParseState.get().clear(); @@ -1317,7 +1317,7 @@ public class Parse { numGroupingRegions--; } } - if (grouping1 < 0) { + if (grouping1 <= 0) { // OK (no grouping data available) } else if (numGroupingRegions <= 1) { // OK (no grouping digits) diff --git a/icu4j/main/classes/core/src/com/ibm/icu/text/DecimalFormat.java b/icu4j/main/classes/core/src/com/ibm/icu/text/DecimalFormat.java index 9829801332f..58a0189783b 100644 --- a/icu4j/main/classes/core/src/com/ibm/icu/text/DecimalFormat.java +++ b/icu4j/main/classes/core/src/com/ibm/icu/text/DecimalFormat.java @@ -1793,7 +1793,7 @@ public class DecimalFormat extends NumberFormat { */ @Override public synchronized boolean isGroupingUsed() { - return properties.getGroupingSize() != -1 || properties.getSecondaryGroupingSize() != -1; + return properties.getGroupingSize() > 0 || properties.getSecondaryGroupingSize() > 0; } /** diff --git a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/NumberFormatTest.java b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/NumberFormatTest.java index 3bb777eb641..74290f3b0b0 100644 --- a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/NumberFormatTest.java +++ b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/NumberFormatTest.java @@ -5325,6 +5325,7 @@ public class NumberFormatTest extends TestFmwk { DecimalFormat df = new DecimalFormat(); df.setGroupingUsed(false); assertEquals("Grouping size should now be zero", 0, df.getGroupingSize()); + assertEquals("Grouping should be off", false, df.isGroupingUsed()); } @Test