19 #if !UCONFIG_NO_FORMATTING
30 #if U_SHOW_CPLUSPLUS_API
32 #endif // U_SHOW_CPLUSPLUS_API
255 #ifndef U_HIDE_DEPRECATED_API
279 UNUM_PAD_BEFORE_PREFIX,
280 UNUM_PAD_AFTER_PREFIX,
281 UNUM_PAD_BEFORE_SUFFIX,
282 UNUM_PAD_AFTER_SUFFIX
311 #ifndef U_FORCE_HIDE_DEPRECATED_API
317 #endif // U_FORCE_HIDE_DEPRECATED_API
360 #ifndef U_HIDE_DEPRECATED_API
431 const UChar* pattern,
432 int32_t patternLength,
447 #if U_SHOW_CPLUSPLUS_API
506 int32_t resultLength,
538 int32_t resultLength,
570 int32_t resultLength,
620 int32_t resultLength,
658 int32_t resultLength,
697 int32_t resultLength,
725 int32_t resultLength,
841 int32_t outBufLength,
918 const UChar *pattern,
919 int32_t patternLength,
934 U_CAPI const char* U_EXPORT2
949 #if UCONFIG_HAVE_PARSEALLINPUT
954 typedef enum UNumberFormatAttributeValue {
955 #ifndef U_HIDE_INTERNAL_API
964 UNUM_FORMAT_ATTRIBUTE_VALUE_HIDDEN
966 } UNumberFormatAttributeValue;
1016 #if UCONFIG_HAVE_PARSEALLINPUT
1021 UNUM_PARSE_ALL_INPUT = 20,
1054 #ifndef U_HIDE_INTERNAL_API
1101 #ifndef U_HIDE_INTERNAL_API
1110 #ifndef U_HIDE_DRAFT_API
1128 #endif // U_HIDE_DRAFT_API
1274 int32_t resultLength,
1296 const UChar* newValue,
1297 int32_t newValueLength,
1318 UBool isPatternLocalized,
1320 int32_t resultLength,
1410 #ifndef U_HIDE_INTERNAL_API
1417 #ifndef U_HIDE_DEPRECATED_API
1479 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.
The monetary grouping separator.
U_CAPI bool unum_hasAttribute(const UNumberFormat *fmt, UNumberFormatAttribute attr)
Returns true if the formatter supports the specified attribute and false if not.
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.
C API: Miscellaneous definitions.
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.
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".
C API: Header-only input options for various number formatting APIs.
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.
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_CASH...
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.
C API: Locale ID functionality similar to C++ class Locale.
Always show decimal point.