19 #if !UCONFIG_NO_FORMATTING
29 #if U_SHOW_CPLUSPLUS_API
31 #endif // U_SHOW_CPLUSPLUS_API
254 #ifndef U_HIDE_DEPRECATED_API
292 #ifndef U_HIDE_DEPRECATED_API
306 #ifndef U_HIDE_DRAFT_API
322 #endif // U_HIDE_DRAFT_API
329 UNUM_PAD_BEFORE_PREFIX,
330 UNUM_PAD_AFTER_PREFIX,
331 UNUM_PAD_BEFORE_SUFFIX,
332 UNUM_PAD_AFTER_SUFFIX
361 #ifndef U_FORCE_HIDE_DEPRECATED_API
367 #endif // U_FORCE_HIDE_DEPRECATED_API
405 #ifndef U_HIDE_DEPRECATED_API
415 #ifndef U_HIDE_DRAFT_API
437 #endif // U_HIDE_DRAFT_API
478 const UChar* pattern,
479 int32_t patternLength,
494 #if U_SHOW_CPLUSPLUS_API
553 int32_t resultLength,
585 int32_t resultLength,
617 int32_t resultLength,
667 int32_t resultLength,
705 int32_t resultLength,
744 int32_t resultLength,
772 int32_t resultLength,
888 int32_t outBufLength,
965 const UChar *pattern,
966 int32_t patternLength,
981 U_CAPI const char* U_EXPORT2
996 #if UCONFIG_HAVE_PARSEALLINPUT
1001 typedef enum UNumberFormatAttributeValue {
1002 #ifndef U_HIDE_INTERNAL_API
1011 UNUM_FORMAT_ATTRIBUTE_VALUE_HIDDEN
1013 } UNumberFormatAttributeValue;
1063 #if UCONFIG_HAVE_PARSEALLINPUT
1068 UNUM_PARSE_ALL_INPUT = 20,
1101 #ifndef U_HIDE_INTERNAL_API
1148 #ifndef U_HIDE_INTERNAL_API
1296 int32_t resultLength,
1318 const UChar* newValue,
1319 int32_t newValueLength,
1340 UBool isPatternLocalized,
1342 int32_t resultLength,
1432 #ifndef U_HIDE_DEPRECATED_API
1494 U_CAPI const char* U_EXPORT2
U_CAPI int32_t unum_parse(const UNumberFormat *fmt, const UChar *text, int32_t textLength, int32_t *parsePos, UErrorCode *status)
Parse a string into an integer using a UNumberFormat.
U_CAPI void unum_setAttribute(UNumberFormat *fmt, UNumberFormatAttribute attr, int32_t newValue)
Set a numeric attribute associated with a UNumberFormat.
UNumberFormatRoundingMode
The possible number format rounding modes.
The monetary grouping separator.
One more than the highest normal UNumberFormatStyle value.
Numbering system rule-based format.
#define U_CAPI
This is used to declare a function as a public ICU C API.
U_CAPI double unum_parseDouble(const UNumberFormat *fmt, const UChar *text, int32_t textLength, int32_t *parsePos, UErrorCode *status)
Parse a string into a double using a UNumberFormat.
Currency format (generic).
Decimal format ("normal" style).
U_CAPI int32_t unum_formatInt64(const UNumberFormat *fmt, int64_t number, UChar *result, int32_t resultLength, UFieldPosition *pos, UErrorCode *status)
Format an int64 using a UNumberFormat.
if this attribute is set to 1, specifies that, if the pattern doesn't contain an exponent, the exponent will not be parsed.
UDisplayContext
Display context settings.
Significant digit symbol.
U_CAPI UNumberFormat * unum_open(UNumberFormatStyle style, const UChar *pattern, int32_t patternLength, const char *locale, UParseError *parseErr, UErrorCode *status)
Create and return a new UNumberFormat for formatting and parsing numbers.
Currency format with a currency symbol, e.g., "$1.00", using non-accounting style for negative values...
Rule-based format defined by a pattern string.
Formatting: if set to 1, whether to show the plus sign on non-negative numbers.
Lenient parse mode used by rule-based formats.
Display grouping using the default strategy for all locales.
Decimal format expressed using compact notation (short form, corresponds to UNumberCompactStyle=UNUM_...
UCurrencySpacing
Constants for specifying currency spacing.
ROUND_UNNECESSARY reports an error if formatted result is not exact.
struct UFieldPositionIterator UFieldPositionIterator
C typedef for struct UFieldPositionIterator.
Limit of boolean attributes.
U_CAPI double unum_getDoubleAttribute(const UNumberFormat *fmt, UNumberFormatAttribute attr)
Get a numeric attribute associated with a UNumberFormat.
UNumberFormatSymbol
Constants for specifying a number format symbol.
Half-even rounding, misspelled name.
C API: Display context types (enum values)
U_CAPI int64_t unum_parseInt64(const UNumberFormat *fmt, const UChar *text, int32_t textLength, int32_t *parsePos, UErrorCode *status)
Parse a string into an int64 using a UNumberFormat.
Currency format with an ISO currency code, e.g., "USD1.00".
Currency format with a currency symbol given CASH usage, e.g., "NT$3" instead of "NT$3.23".
Decimal format defined by a pattern string.
The position at which padding will take place.
Decimal format expressed using compact notation (long form, corresponds to UNumberCompactStyle=UNUM_L...
Spellout rule-based format.
U_CAPI int32_t unum_getTextAttribute(const UNumberFormat *fmt, UNumberFormatTextAttribute tag, UChar *result, int32_t resultLength, UErrorCode *status)
Get a text attribute associated with a UNumberFormat.
UNumberFormatStyle
The possible number format styles.
#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction)
"Smart pointer" definition macro, deletes objects via the closeFunction.
void * UNumberFormat
A number formatter.
A struct representing a range of text containing a specific field.
UNumberFormatFields
FieldPosition and UFieldPosition selectors for format fields defined by NumberFormat and UNumberForma...
C++ API: "Smart pointers" for use with and in ICU4C C++ code.
C API: Encapsulates information about a currency.
U_CAPI void unum_setSymbol(UNumberFormat *fmt, UNumberFormatSymbol symbol, const UChar *value, int32_t length, UErrorCode *status)
Set a symbol associated with a UNumberFormat.
Maximum significant digits.
Currency format with a pluralized currency name, e.g., "1.00 US dollar" and "3.00 US dollars"...
One more than the highest normal UNumberFormatSymbol value.
U_CAPI int32_t unum_format(const UNumberFormat *fmt, int32_t number, UChar *result, int32_t resultLength, UFieldPosition *pos, UErrorCode *status)
Format an integer using a UNumberFormat.
Scale, which adjusts the position of the decimal point when formatting.
UNumberFormatTextAttribute
The possible UNumberFormat text attributes.
U_CAPI int32_t unum_formatDecimal(const UNumberFormat *fmt, const char *number, int32_t length, UChar *result, int32_t resultLength, UFieldPosition *pos, UErrorCode *status)
Format a decimal number using a UNumberFormat.
U_CAPI void unum_setTextAttribute(UNumberFormat *fmt, UNumberFormatTextAttribute tag, const UChar *newValue, int32_t newValueLength, UErrorCode *status)
Set a text attribute associated with a UNumberFormat.
Parsing: if set to 1, parsing is sensitive to case (lowercase/uppercase).
UNumberFormatMinimumGroupingDigits
Selectors with special numeric values to use locale default minimum grouping digits for the DecimalFo...
The width to which the output of format() is padded.
Alias for UNUM_PATTERN_DECIMAL.
One below the first bitfield-boolean item.
UNumberFormatPadPosition
The possible number format pad positions.
U_CAPI void unum_applyPattern(UNumberFormat *format, UBool localized, const UChar *pattern, int32_t patternLength, UParseError *parseError, UErrorCode *status)
Set the pattern used by a UNumberFormat.
Minimum grouping digits; most commonly set to 2 to print "1000" instead of "1,000".
U_CAPI int32_t unum_parseDecimal(const UNumberFormat *fmt, const UChar *text, int32_t textLength, int32_t *parsePos, char *outBuf, int32_t outBufLength, UErrorCode *status)
Parse a number from a string into an unformatted numeric string using a UNumberFormat.
If 1, specifies that if setting the "max integer digits" attribute would truncate a value...
U_CAPI int32_t unum_formatUFormattable(const UNumberFormat *fmt, const UFormattable *number, UChar *result, int32_t resultLength, UFieldPosition *pos, UErrorCode *status)
Format a UFormattable into a string.
char16_t UChar
The base type for UTF-16 code units and pointers.
UNumberCompactStyle
Constants for specifying short or long format.
UDisplayContextType
Display context types, for getting values of a particular setting.
Ordinal rule-based format .
Escape padding character.
C API: Parse Error Information.
U_CAPI int32_t unum_formatDouble(const UNumberFormat *fmt, double number, UChar *result, int32_t resultLength, UFieldPosition *pos, UErrorCode *status)
Format a double using a UNumberFormat.
U_CAPI const char * unum_getAvailable(int32_t localeIndex)
Get a locale for which decimal formatting patterns are available.
Rounds ties toward the odd number.
U_CAPI void unum_setDoubleAttribute(UNumberFormat *fmt, UNumberFormatAttribute attr, double newValue)
Set a numeric attribute associated with a UNumberFormat.
The character used to pad to the format width.
if this attribute is set to 1, specifies that, if the pattern contains a decimal mark the input is re...
U_CAPI UFormattable * unum_parseToUFormattable(const UNumberFormat *fmt, UFormattable *result, const UChar *text, int32_t textLength, int32_t *parsePos, UErrorCode *status)
Parse a UChar string into a UFormattable.
U_CAPI const char * unum_getLocaleByType(const UNumberFormat *fmt, ULocDataLocaleType type, UErrorCode *status)
Get the locale for this number format object.
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
ULocDataLocaleType
Constants for *_getLocale() Allow user to select whether she wants information on requested...
Currency format for accounting, e.g., "($3.00)" for negative currency amount instead of "-$3...
U_CAPI UNumberFormat * unum_clone(const UNumberFormat *fmt, UErrorCode *status)
Open a copy of a UNumberFormat.
U_CAPI int32_t unum_formatDoubleForFields(const UNumberFormat *format, double number, UChar *result, int32_t resultLength, UFieldPositionIterator *fpositer, UErrorCode *status)
Format a double using a UNumberFormat according to the UNumberFormat's locale, and initialize a UFiel...
U_CAPI int32_t unum_formatDoubleCurrency(const UNumberFormat *fmt, double number, UChar *currency, UChar *result, int32_t resultLength, UFieldPosition *pos, UErrorCode *status)
Format a double currency amount using a UNumberFormat.
U_CAPI void unum_setContext(UNumberFormat *fmt, UDisplayContext value, UErrorCode *status)
Set a particular UDisplayContext value in the formatter, such as UDISPCTX_CAPITALIZATION_FOR_STANDALO...
C API: UFieldPositionIterator for use with format APIs.
Minimum significant digits.
U_CAPI int32_t unum_toPattern(const UNumberFormat *fmt, UBool isPatternLocalized, UChar *result, int32_t resultLength, UErrorCode *status)
Extract the pattern from a UNumberFormat.
A UParseError struct is used to returned detailed information about parsing errors.
Basic definitions for ICU, for both C and C++ APIs.
The international currency symbol.
The default rule set, such as "%spellout-numbering-year:", "%spellout-cardinal:", "%spellout-ordinal-...
U_CAPI int32_t unum_countAvailable(void)
Determine how many locales have decimal formatting patterns available.
if this attribute is set to 0, it is set to UNUM_CURRENCY_STANDARD purpose, otherwise it is UNUM_CURR...
U_CAPI void unum_close(UNumberFormat *fmt)
Close a UNumberFormat.
Duration rule-based format.
UNumberFormatAttribute
The possible UNumberFormat numeric attributes.
One more than the highest normal UNumberFormatFields value.
Display grouping using locale defaults, except do not show grouping on values smaller than 10000 (suc...
U_CAPI double unum_parseDoubleCurrency(const UNumberFormat *fmt, const UChar *text, int32_t textLength, int32_t *parsePos, UChar *currency, UErrorCode *status)
Parse a string into a double and a currency using a UNumberFormat.
U_CAPI int32_t unum_getAttribute(const UNumberFormat *fmt, UNumberFormatAttribute attr)
Get a numeric attribute associated with a UNumberFormat.
One more than the highest normal UCurrencySpacing value.
U_CAPI int32_t unum_getSymbol(const UNumberFormat *fmt, UNumberFormatSymbol symbol, UChar *buffer, int32_t size, UErrorCode *status)
Get a symbol associated with a UNumberFormat.
U_CAPI UDisplayContext unum_getContext(const UNumberFormat *fmt, UDisplayContextType type, UErrorCode *status)
Get the formatter's UDisplayContext value for the specified UDisplayContextType, such as UDISPCTX_TYP...
int8_t UBool
The ICU boolean type, a signed-byte integer.
Character representing a digit in the pattern.
Always show decimal point.