17 #if !UCONFIG_NO_FORMATTING
200 #ifndef U_HIDE_DRAFT_API
238 #ifndef U_HIDE_DEPRECATED_API
258 UNUM_PAD_BEFORE_PREFIX,
259 UNUM_PAD_AFTER_PREFIX,
260 UNUM_PAD_BEFORE_SUFFIX,
261 UNUM_PAD_AFTER_SUFFIX
361 const UChar* pattern,
362 int32_t patternLength,
377 #if U_SHOW_CPLUSPLUS_API
436 int32_t resultLength,
468 int32_t resultLength,
500 int32_t resultLength,
537 int32_t resultLength,
570 int32_t resultLength,
574 #ifndef U_HIDE_DRAFT_API
599 int32_t resultLength,
708 int32_t outBufLength,
738 #ifndef U_HIDE_DRAFT_API
785 const UChar *pattern,
786 int32_t patternLength,
816 #if UCONFIG_HAVE_PARSEALLINPUT
821 typedef enum UNumberFormatAttributeValue {
822 #ifndef U_HIDE_INTERNAL_API
830 } UNumberFormatAttributeValue;
880 #if UCONFIG_HAVE_PARSEALLINPUT
898 #ifndef U_HIDE_INTERNAL_API
1063 int32_t resultLength,
1085 const UChar* newValue,
1086 int32_t newValueLength,
1107 UBool isPatternLocalized,
1109 int32_t resultLength,
1255 #ifndef U_HIDE_DRAFT_API
void unum_setDoubleAttribute(UNumberFormat *fmt, UNumberFormatAttribute attr, double newValue)
Set a numeric attribute associated with a UNumberFormat.
void unum_setSymbol(UNumberFormat *fmt, UNumberFormatSymbol symbol, const UChar *value, int32_t length, UErrorCode *status)
Set a symbol associated with a UNumberFormat.
UNumberFormatRoundingMode
The possible number format rounding modes.
double unum_getDoubleAttribute(const UNumberFormat *fmt, UNumberFormatAttribute attr)
Get a numeric attribute associated with a UNumberFormat.
The monetary grouping separator.
One more than the highest number format style constant.
void unum_setContext(UNumberFormat *fmt, UDisplayContext value, UErrorCode *status)
Set a particular UDisplayContext value in the formatter, such as UDISPCTX_CAPITALIZATION_FOR_STANDALO...
Numbering system rule-based format.
Count of "regular" numeric attributes.
const char * unum_getAvailable(int32_t localeIndex)
Get a locale for which decimal formatting patterns are available.
Currency format with a currency symbol, e.g., "$1.00".
Decimal format ("normal" style).
void unum_applyPattern(UNumberFormat *format, UBool localized, const UChar *pattern, int32_t patternLength, UParseError *parseError, UErrorCode *status)
Set the pattern used by 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.
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.
Rule-based format defined by a pattern string.
Lenient parse mode used by rule-based formats.
UCurrencySpacing
Constants for specifying currency spacing.
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.
ROUND_UNNECESSARY reports an error if formatted result is not exact.
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.
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.
Limit of boolean attributes.
UNumberFormatSymbol
Constants for specifying a number format symbol.
Half-even rounding, misspelled name.
C API: Display context types (enum values)
Currency format with an ISO currency code, e.g., "USD1.00".
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.
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.
Decimal format defined by a pattern string.
The position at which padding will take place.
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
Spellout rule-based format.
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.
int32_t unum_countAvailable(void)
Determine how many locales have decimal formatting patterns available.
#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.
Maximum significant digits.
Currency format with a pluralized currency name, e.g., "1.00 US dollar" and "3.00 US dollars"...
Scale, which adjusts the position of the decimal point when formatting.
UNumberFormatTextAttribute
The possible UNumberFormat text attributes.
UNumberFormat * unum_clone(const UNumberFormat *fmt, UErrorCode *status)
Open a copy of a UNumberFormat.
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.
UDisplayContext unum_getContext(const UNumberFormat *fmt, UDisplayContextType type, UErrorCode *status)
Get the formatter's UDisplayContext value for the specified UDisplayContextType, such as UDISPCTX_TYP...
int32_t unum_formatDouble(const UNumberFormat *fmt, double number, UChar *result, int32_t resultLength, UFieldPosition *pos, UErrorCode *status)
Format a double using a UNumberFormat.
If 1, specifies that if setting the "max integer digits" attribute would truncate a value...
uint16_t UChar
Define UChar to be UCHAR_TYPE, if that is #defined (for example, to char16_t), or wchar_t if that is ...
const char * unum_getLocaleByType(const UNumberFormat *fmt, ULocDataLocaleType type, UErrorCode *status)
Get the locale for this number format object.
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
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.
void unum_setAttribute(UNumberFormat *fmt, UNumberFormatAttribute attr, int32_t newValue)
Set a numeric attribute associated with a UNumberFormat.
The character used to pad to the format width.
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.
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers...
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...
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.
int32_t unum_getSymbol(const UNumberFormat *fmt, UNumberFormatSymbol symbol, UChar *buffer, int32_t size, UErrorCode *status)
Get a symbol associated with a UNumberFormat.
Minimum significant digits.
A UParseError struct is used to returned detailed information about parsing errors.
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.
Basic definitions for ICU, for both C and C++ APIs.
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.
The international currency symbol.
int32_t unum_getAttribute(const UNumberFormat *fmt, UNumberFormatAttribute attr)
Get a numeric attribute associated with a UNumberFormat.
int32_t unum_toPattern(const UNumberFormat *fmt, UBool isPatternLocalized, UChar *result, int32_t resultLength, UErrorCode *status)
Extract the pattern from a UNumberFormat.
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.
Duration rule-based format.
#define U_DRAFT
This is used to declare a function as a draft public ICU C API.
UNumberFormatAttribute
The possible UNumberFormat numeric attributes.
void unum_close(UNumberFormat *fmt)
Close a UNumberFormat.
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.
#define U_STABLE
This is used to declare a function as a stable public ICU C API.
int8_t UBool
The ICU boolean type.
Character representing a digit in the pattern.
Always show decimal point.
void unum_setTextAttribute(UNumberFormat *fmt, UNumberFormatTextAttribute tag, const UChar *newValue, int32_t newValueLength, UErrorCode *status)
Set a text attribute associated with a UNumberFormat.