From ae263452f6f3f5c58f40c915943a38f8aff23a1a Mon Sep 17 00:00:00 2001 From: Shane Carr Date: Fri, 9 Feb 2018 22:55:36 +0000 Subject: [PATCH] ICU-13400 Change name of Grouping strategy from WESTERN to THOUSANDS. X-SVN-Rev: 40887 --- icu4c/source/i18n/number_grouping.cpp | 2 +- icu4c/source/i18n/unicode/numberformatter.h | 4 ++-- icu4c/source/test/intltest/numbertest_api.cpp | 14 ++++++++++++++ .../core/src/com/ibm/icu/impl/number/Grouper.java | 2 +- .../src/com/ibm/icu/number/NumberFormatter.java | 4 ++-- .../dev/test/number/NumberFormatterApiTest.java | 15 +++++++++++++++ 6 files changed, 35 insertions(+), 6 deletions(-) diff --git a/icu4c/source/i18n/number_grouping.cpp b/icu4c/source/i18n/number_grouping.cpp index 67fd4c94317..a2b1bbd6b33 100644 --- a/icu4c/source/i18n/number_grouping.cpp +++ b/icu4c/source/i18n/number_grouping.cpp @@ -44,7 +44,7 @@ Grouper Grouper::forStrategy(UGroupingStrategy grouping) { return {-2, -2, -3}; case UNUM_GROUPING_ON_ALIGNED: return {-4, -4, 1}; - case UNUM_GROUPING_WESTERN: + case UNUM_GROUPING_THOUSANDS: return {3, 3, 1}; default: U_ASSERT(FALSE); diff --git a/icu4c/source/i18n/unicode/numberformatter.h b/icu4c/source/i18n/unicode/numberformatter.h index d2c70a99055..1152f154ed4 100644 --- a/icu4c/source/i18n/unicode/numberformatter.h +++ b/icu4c/source/i18n/unicode/numberformatter.h @@ -172,7 +172,7 @@ typedef enum UNumberUnitWidth { *
  • MIN2: 1234 and 12,34,567 *
  • AUTO: 1,234 and 12,34,567 *
  • ON_ALIGNED: 1,234 and 12,34,567 - *
  • WESTERN: 1,234 and 1,234,567 + *
  • THOUSANDS: 1,234 and 1,234,567 * * *

    @@ -248,7 +248,7 @@ typedef enum UGroupingStrategy { * * @draft ICU 61 */ - UNUM_GROUPING_WESTERN + UNUM_GROUPING_THOUSANDS } UGroupingStrategy; diff --git a/icu4c/source/test/intltest/numbertest_api.cpp b/icu4c/source/test/intltest/numbertest_api.cpp index 2d625877f30..783bb00e2f6 100644 --- a/icu4c/source/test/intltest/numbertest_api.cpp +++ b/icu4c/source/test/intltest/numbertest_api.cpp @@ -1097,6 +1097,20 @@ void NumberFormatterApiTest::grouping() { u"8.765", u"0"); + assertFormatDescendingBig( + u"Indic locale with THOUSANDS grouping", + NumberFormatter::with().grouping(UNUM_GROUPING_THOUSANDS), + Locale("en-IN"), + u"87,650,000", + u"8,765,000", + u"876,500", + u"87,650", + u"8,765", + u"876.5", + u"87.65", + u"8.765", + u"0"); + // NOTE: Hungarian is interesting because it has minimumGroupingDigits=4 in locale data // If this test breaks due to data changes, find another locale that has minimumGroupingDigits. assertFormatDescendingBig( diff --git a/icu4j/main/classes/core/src/com/ibm/icu/impl/number/Grouper.java b/icu4j/main/classes/core/src/com/ibm/icu/impl/number/Grouper.java index add6f66563c..6e18907dbbc 100644 --- a/icu4j/main/classes/core/src/com/ibm/icu/impl/number/Grouper.java +++ b/icu4j/main/classes/core/src/com/ibm/icu/impl/number/Grouper.java @@ -37,7 +37,7 @@ public class Grouper { return GROUPER_AUTO; case ON_ALIGNED: return GROUPER_ON_ALIGNED; - case WESTERN: + case THOUSANDS: return GROUPER_WESTERN; default: throw new AssertionError(); diff --git a/icu4j/main/classes/core/src/com/ibm/icu/number/NumberFormatter.java b/icu4j/main/classes/core/src/com/ibm/icu/number/NumberFormatter.java index d66cb2afdec..dd7651bd820 100644 --- a/icu4j/main/classes/core/src/com/ibm/icu/number/NumberFormatter.java +++ b/icu4j/main/classes/core/src/com/ibm/icu/number/NumberFormatter.java @@ -171,7 +171,7 @@ public final class NumberFormatter { *

  • MIN2: 1234 and 12,34,567 *
  • AUTO: 1,234 and 12,34,567 *
  • ON_ALIGNED: 1,234 and 12,34,567 - *
  • WESTERN: 1,234 and 1,234,567 + *
  • THOUSANDS: 1,234 and 1,234,567 * * *

    @@ -259,7 +259,7 @@ public final class NumberFormatter { * @provisional This API might change or be removed in a future release. * @see NumberFormatter */ - WESTERN + THOUSANDS } /** diff --git a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/number/NumberFormatterApiTest.java b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/number/NumberFormatterApiTest.java index eb9cb5f2a28..fe01e1e3ec9 100644 --- a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/number/NumberFormatterApiTest.java +++ b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/number/NumberFormatterApiTest.java @@ -1175,6 +1175,21 @@ public class NumberFormatterApiTest { "8.765", "0"); + assertFormatDescendingBig( + "Indic locale with THOUSANDS grouping", + "", + NumberFormatter.with().grouping(GroupingStrategy.THOUSANDS), + new ULocale("en-IN"), + "87,650,000", + "8,765,000", + "876,500", + "87,650", + "8,765", + "876.5", + "87.65", + "8.765", + "0"); + // NOTE: Hungarian is interesting because it has minimumGroupingDigits=4 in locale data // If this test breaks due to data changes, find another locale that has minimumGroupingDigits. assertFormatDescendingBig(