// © 2017 and later: Unicode, Inc. and others. // License & terms of use: http://www.unicode.org/copyright.html #ifndef __UNUMBEROPTIONS_H__ #define __UNUMBEROPTIONS_H__ #include "unicode/utypes.h" #if !UCONFIG_NO_FORMATTING /** * \file * \brief C API: Header-only input options for various number formatting APIs. * * You do not normally need to include this header file directly, because it is included in all * files that use these enums. */ /** The possible number format rounding modes. * * <p> * For more detail on rounding modes, see: * https://unicode-org.github.io/icu/userguide/format_parse/numbers/rounding-modes * * @stable ICU 2.0 */ UNumberFormatRoundingMode; /** * 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 <em>en-IN</em>: * * <ul> * <li>OFF: 1234 and 12345 * <li>MIN2: 1234 and 12,34,567 * <li>AUTO: 1,234 and 12,34,567 * <li>ON_ALIGNED: 1,234 and 12,34,567 * <li>THOUSANDS: 1,234 and 1,234,567 * </ul> * * <p> * 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. * * <p> * Note: This enum specifies the strategy for grouping sizes. To set which character to use as the * grouping separator, use the "symbols" setter. * * @stable ICU 63 */ UNumberGroupingStrategy; #endif /* #if !UCONFIG_NO_FORMATTING */ #endif //__UNUMBEROPTIONS_H__