Stay organized with collections
Save and categorize content based on your preferences.
GroupingStrategy
class GroupingStrategy
An enum declaring the strategy for when and how to display grouping separators (i.e., the separator, often a comma or period, after every 2-3 powers of ten). The choices are several pre-built strategies for different use cases that employ locale data whenever possible. Example outputs for 1234 and 1234567 in en-IN:
- OFF: 1234 and 12345
- MIN2: 1234 and 12,34,567
- AUTO: 1,234 and 12,34,567
- ON_ALIGNED: 1,234 and 12,34,567
- THOUSANDS: 1,234 and 1,234,567
The default is AUTO, which displays grouping separators unless the locale data says that grouping is not customary. To force grouping for all numbers greater than 1000 consistently across locales, use ON_ALIGNED. On the other hand, to display grouping less frequently than the default, use MIN2 or OFF. See the docs of each option for details.
Note: This enum specifies the strategy for grouping sizes. To set which character to use as the grouping separator, use the "symbols" setter.
Summary
Enum values |
Display grouping using the default strategy for all locales.
|
Display grouping using locale defaults, except do not show grouping on values smaller than 10000 (such that there is a minimum of two digits before the first separator).
|
Do not display grouping separators in any locale.
|
Always display the grouping separator on values of at least 1000.
|
Use the Western defaults: groups of 3 and enabled for all numbers 1000 or greater.
|
Enum values
AUTO
enum val AUTO : NumberFormatter.GroupingStrategy
Display grouping using the default strategy for all locales. This is the default behavior.
Note that locales may restrict grouping separators to be displayed only on 1 million or greater (for example, ee and hu) or disable grouping altogether (for example, bg currency).
Locale data is used to determine whether to separate larger numbers into groups of 2 (customary in South Asia) or groups of 3 (customary in Europe and the Americas).
MIN2
enum val MIN2 : NumberFormatter.GroupingStrategy
Display grouping using locale defaults, except do not show grouping on values smaller than 10000 (such that there is a minimum of two digits before the first separator).
Note that locales may restrict grouping separators to be displayed only on 1 million or greater (for example, ee and hu) or disable grouping altogether (for example, bg currency).
Locale data is used to determine whether to separate larger numbers into groups of 2 (customary in South Asia) or groups of 3 (customary in Europe and the Americas).
ON_ALIGNED
enum val ON_ALIGNED : NumberFormatter.GroupingStrategy
Always display the grouping separator on values of at least 1000.
This option ignores the locale data that restricts or disables grouping, described in MIN2 and AUTO. This option may be useful to normalize the alignment of numbers, such as in a spreadsheet.
Locale data is used to determine whether to separate larger numbers into groups of 2 (customary in South Asia) or groups of 3 (customary in Europe and the Americas).
THOUSANDS
enum val THOUSANDS : NumberFormatter.GroupingStrategy
Use the Western defaults: groups of 3 and enabled for all numbers 1000 or greater. Do not use locale data for determining the grouping strategy.
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-02-10 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-02-10 UTC."],[],[],null,["# NumberFormatter.GroupingStrategy\n\nAdded in [API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)\n\nGroupingStrategy\n================\n\n*** ** * ** ***\n\nKotlin \\|[Java](/reference/android/icu/number/NumberFormatter.GroupingStrategy \"View this page in Java\") \n\n```\nclass GroupingStrategy\n```\n\n|---|---|----------------------------------------------------------|\n| [kotlin.Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html) |||\n| ↳ | [kotlin.Enum](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-enum/index.html)\\\u003c[android.icu.number.NumberFormatter.GroupingStrategy](#)\\\u003e ||\n| | ↳ | [android.icu.number.NumberFormatter.GroupingStrategy](#) |\n\n|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Known Direct Subclasses [NumberFormatter.GroupingStrategy.AUTO](#ENUM_VALUE:AUTO), [NumberFormatter.GroupingStrategy.MIN2](#ENUM_VALUE:MIN2), [NumberFormatter.GroupingStrategy.OFF](#ENUM_VALUE:OFF), [NumberFormatter.GroupingStrategy.ON_ALIGNED](#ENUM_VALUE:ON_ALIGNED), [NumberFormatter.GroupingStrategy.THOUSANDS](#ENUM_VALUE:THOUSANDS) |-----------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | [NumberFormatter.GroupingStrategy.AUTO](#ENUM_VALUE:AUTO) | Display grouping using the default strategy for all locales. | | [NumberFormatter.GroupingStrategy.MIN2](#ENUM_VALUE:MIN2) | Display grouping using locale defaults, except do not show grouping on values smaller than 10000 (such that there is a *minimum of two digits* before the first separator). | | [NumberFormatter.GroupingStrategy.OFF](#ENUM_VALUE:OFF) | Do not display grouping separators in any locale. | | [NumberFormatter.GroupingStrategy.ON_ALIGNED](#ENUM_VALUE:ON_ALIGNED) | Always display the grouping separator on values of at least 1000. | | [NumberFormatter.GroupingStrategy.THOUSANDS](#ENUM_VALUE:THOUSANDS) | Use the Western defaults: groups of 3 and enabled for all numbers 1000 or greater. | |\n\nAn enum declaring the strategy for when and how to display grouping separators (i.e., the separator, often a comma or period, after every 2-3 powers of ten). The choices are several pre-built strategies for different use cases that employ locale data whenever possible. Example outputs for 1234 and 1234567 in *en-IN*:\n\n- OFF: 1234 and 12345\n- MIN2: 1234 and 12,34,567\n- AUTO: 1,234 and 12,34,567\n- ON_ALIGNED: 1,234 and 12,34,567\n- THOUSANDS: 1,234 and 1,234,567\n\n\u003cbr /\u003e\n\nThe default is AUTO, which displays grouping separators unless the locale data says that grouping is not customary. To force grouping for all numbers greater than 1000 consistently across locales, use ON_ALIGNED. On the other hand, to display grouping less frequently than the default, use MIN2 or OFF. See the docs of each option for details.\n\nNote: This enum specifies the strategy for grouping sizes. To set which character to use as the grouping separator, use the \"symbols\" setter.\n\nSummary\n-------\n\n| Enum values ||\n|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|\n| [AUTO](#ENUM_VALUE:AUTO) Display grouping using the default strategy for all locales. |\n| [MIN2](#ENUM_VALUE:MIN2) Display grouping using locale defaults, except do not show grouping on values smaller than 10000 (such that there is a *minimum of two digits* before the first separator). |\n| [OFF](#ENUM_VALUE:OFF) Do not display grouping separators in any locale. |\n| [ON_ALIGNED](#ENUM_VALUE:ON_ALIGNED) Always display the grouping separator on values of at least 1000. |\n| [THOUSANDS](#ENUM_VALUE:THOUSANDS) Use the Western defaults: groups of 3 and enabled for all numbers 1000 or greater. |\n\nEnum values\n-----------\n\n### AUTO\n\nAdded in [API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nenum val AUTO : NumberFormatter.GroupingStrategy\n```\n\nDisplay grouping using the default strategy for all locales. This is the default behavior.\n\nNote that locales may restrict grouping separators to be displayed only on 1 million or greater (for example, ee and hu) or disable grouping altogether (for example, bg currency).\n\nLocale data is used to determine whether to separate larger numbers into groups of 2 (customary in South Asia) or groups of 3 (customary in Europe and the Americas). \n**See Also**\n\n- [android.icu.number.NumberFormatter](/reference/kotlin/android/icu/number/NumberFormatter) \n\n### MIN2\n\nAdded in [API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nenum val MIN2 : NumberFormatter.GroupingStrategy\n```\n\nDisplay grouping using locale defaults, except do not show grouping on values smaller than 10000 (such that there is a *minimum of two digits* before the first separator).\n\nNote that locales may restrict grouping separators to be displayed only on 1 million or greater (for example, ee and hu) or disable grouping altogether (for example, bg currency).\n\nLocale data is used to determine whether to separate larger numbers into groups of 2 (customary in South Asia) or groups of 3 (customary in Europe and the Americas). \n**See Also**\n\n- [android.icu.number.NumberFormatter](/reference/kotlin/android/icu/number/NumberFormatter) \n\n### OFF\n\nAdded in [API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nenum val OFF : NumberFormatter.GroupingStrategy\n```\n\nDo not display grouping separators in any locale. \n**See Also**\n\n- [android.icu.number.NumberFormatter](/reference/kotlin/android/icu/number/NumberFormatter) \n\n### ON_ALIGNED\n\nAdded in [API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nenum val ON_ALIGNED : NumberFormatter.GroupingStrategy\n```\n\nAlways display the grouping separator on values of at least 1000.\n\nThis option ignores the locale data that restricts or disables grouping, described in MIN2 and AUTO. This option may be useful to normalize the alignment of numbers, such as in a spreadsheet.\n\nLocale data is used to determine whether to separate larger numbers into groups of 2 (customary in South Asia) or groups of 3 (customary in Europe and the Americas). \n**See Also**\n\n- [android.icu.number.NumberFormatter](/reference/kotlin/android/icu/number/NumberFormatter) \n\n### THOUSANDS\n\nAdded in [API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nenum val THOUSANDS : NumberFormatter.GroupingStrategy\n```\n\nUse the Western defaults: groups of 3 and enabled for all numbers 1000 or greater. Do not use locale data for determining the grouping strategy. \n**See Also**\n\n- [android.icu.number.NumberFormatter](/reference/kotlin/android/icu/number/NumberFormatter)"]]