ICU 72.1 72.1
unum.h
Go to the documentation of this file.
1// © 2016 and later: Unicode, Inc. and others.
2// License & terms of use: http://www.unicode.org/copyright.html
3/*
4*******************************************************************************
5* Copyright (C) 1997-2015, International Business Machines Corporation and others.
6* All Rights Reserved.
7* Modification History:
8*
9* Date Name Description
10* 06/24/99 helena Integrated Alan's NF enhancements and Java2 bug fixes
11*******************************************************************************
12*/
13
14#ifndef _UNUM
15#define _UNUM
16
17#include "unicode/utypes.h"
18
19#if !UCONFIG_NO_FORMATTING
20
21#include "unicode/uloc.h"
22#include "unicode/ucurr.h"
23#include "unicode/umisc.h"
24#include "unicode/parseerr.h"
28
29#if U_SHOW_CPLUSPLUS_API
31#endif // U_SHOW_CPLUSPLUS_API
32
144typedef void* UNumberFormat;
145
149typedef enum UNumberFormatStyle {
253
254#ifndef U_HIDE_DEPRECATED_API
260#endif /* U_HIDE_DEPRECATED_API */
261
273
283 UNUM_ROUND_CEILING,
284 UNUM_ROUND_FLOOR,
285 UNUM_ROUND_DOWN,
286 UNUM_ROUND_UP,
292#ifndef U_HIDE_DEPRECATED_API
298#endif /* U_HIDE_DEPRECATED_API */
299 UNUM_ROUND_HALFDOWN = UNUM_ROUND_HALFEVEN + 1,
300 UNUM_ROUND_HALFUP,
322
327 UNUM_PAD_BEFORE_PREFIX,
328 UNUM_PAD_AFTER_PREFIX,
329 UNUM_PAD_BEFORE_SUFFIX,
330 UNUM_PAD_AFTER_SUFFIX
332
344
356
357 /* Do not conditionalize the following with #ifndef U_HIDE_DEPRECATED_API,
358 * it is needed for layout of DecimalFormatSymbols object. */
359#ifndef U_FORCE_HIDE_DEPRECATED_API
365#endif // U_FORCE_HIDE_DEPRECATED_API
402#ifndef U_HIDE_DRAFT_API
408#endif // U_HIDE_DRAFT_API
409
410#ifndef U_HIDE_DEPRECATED_API
415#ifndef U_HIDE_DRAFT_API
417#else // U_HIDE_DRAFT_API (for UNUM_APPROXIMATELY_SIGN_FIELD)
419#endif // U_HIDE_DRAFT_API (for UNUM_APPROXIMATELY_SIGN_FIELD)
420#endif /* U_HIDE_DEPRECATED_API */
422
423
445
483U_CAPI UNumberFormat* U_EXPORT2
485 const UChar* pattern,
486 int32_t patternLength,
487 const char* locale,
488 UParseError* parseErr,
489 UErrorCode* status);
490
491
498U_CAPI void U_EXPORT2
500
501#if U_SHOW_CPLUSPLUS_API
502
503U_NAMESPACE_BEGIN
504
515
516U_NAMESPACE_END
517
518#endif
519
528U_CAPI UNumberFormat* U_EXPORT2
530 UErrorCode *status);
531
556U_CAPI int32_t U_EXPORT2
558 int32_t number,
559 UChar* result,
560 int32_t resultLength,
561 UFieldPosition *pos,
562 UErrorCode* status);
563
588U_CAPI int32_t U_EXPORT2
590 int64_t number,
591 UChar* result,
592 int32_t resultLength,
593 UFieldPosition *pos,
594 UErrorCode* status);
595
620U_CAPI int32_t U_EXPORT2
622 double number,
623 UChar* result,
624 int32_t resultLength,
625 UFieldPosition *pos, /* 0 if ignore */
626 UErrorCode* status);
627
670U_CAPI int32_t U_EXPORT2
672 double number,
673 UChar* result,
674 int32_t resultLength,
675 UFieldPositionIterator* fpositer,
676 UErrorCode* status);
677
678
707U_CAPI int32_t U_EXPORT2
709 const char * number,
710 int32_t length,
711 UChar* result,
712 int32_t resultLength,
713 UFieldPosition *pos, /* 0 if ignore */
714 UErrorCode* status);
715
746U_CAPI int32_t U_EXPORT2
748 double number,
749 UChar* currency,
750 UChar* result,
751 int32_t resultLength,
752 UFieldPosition* pos,
753 UErrorCode* status);
754
775U_CAPI int32_t U_EXPORT2
777 const UFormattable *number,
778 UChar *result,
779 int32_t resultLength,
780 UFieldPosition *pos,
781 UErrorCode *status);
782
802U_CAPI int32_t U_EXPORT2
804 const UChar* text,
805 int32_t textLength,
806 int32_t *parsePos /* 0 = start */,
807 UErrorCode *status);
808
828U_CAPI int64_t U_EXPORT2
830 const UChar* text,
831 int32_t textLength,
832 int32_t *parsePos /* 0 = start */,
833 UErrorCode *status);
834
854U_CAPI double U_EXPORT2
856 const UChar* text,
857 int32_t textLength,
858 int32_t *parsePos /* 0 = start */,
859 UErrorCode *status);
860
861
889U_CAPI int32_t U_EXPORT2
891 const UChar* text,
892 int32_t textLength,
893 int32_t *parsePos /* 0 = start */,
894 char *outBuf,
895 int32_t outBufLength,
896 UErrorCode *status);
897
917U_CAPI double U_EXPORT2
919 const UChar* text,
920 int32_t textLength,
921 int32_t* parsePos, /* 0 = start */
922 UChar* currency,
923 UErrorCode* status);
924
945U_CAPI UFormattable* U_EXPORT2
947 UFormattable *result,
948 const UChar* text,
949 int32_t textLength,
950 int32_t* parsePos, /* 0 = start */
951 UErrorCode* status);
952
969U_CAPI void U_EXPORT2
971 UBool localized,
972 const UChar *pattern,
973 int32_t patternLength,
974 UParseError *parseError,
975 UErrorCode *status
976 );
977
988U_CAPI const char* U_EXPORT2
989unum_getAvailable(int32_t localeIndex);
990
1000U_CAPI int32_t U_EXPORT2
1002
1003#if UCONFIG_HAVE_PARSEALLINPUT
1004/* The UNumberFormatAttributeValue type cannot be #ifndef U_HIDE_INTERNAL_API, needed for .h variable declaration */
1008typedef enum UNumberFormatAttributeValue {
1009#ifndef U_HIDE_INTERNAL_API
1011 UNUM_NO = 0,
1013 UNUM_YES = 1,
1015 UNUM_MAYBE = 2
1016#else
1018 UNUM_FORMAT_ATTRIBUTE_VALUE_HIDDEN
1019#endif /* U_HIDE_INTERNAL_API */
1020} UNumberFormatAttributeValue;
1021#endif
1022
1070#if UCONFIG_HAVE_PARSEALLINPUT
1075 UNUM_PARSE_ALL_INPUT = 20,
1076#endif
1089
1099
1107
1108#ifndef U_HIDE_INTERNAL_API
1113#endif /* U_HIDE_INTERNAL_API */
1114
1128
1138
1145
1154
1155#ifndef U_HIDE_INTERNAL_API
1160#endif /* U_HIDE_INTERNAL_API */
1161
1163
1164#ifndef U_HIDE_DRAFT_API
1179U_CAPI bool U_EXPORT2
1182#endif // U_HIDE_DRAFT_API
1183
1201U_CAPI int32_t U_EXPORT2
1204
1225U_CAPI void U_EXPORT2
1228 int32_t newValue);
1229
1230
1247U_CAPI double U_EXPORT2
1250
1267U_CAPI void U_EXPORT2
1270 double newValue);
1271
1305
1324U_CAPI int32_t U_EXPORT2
1327 UChar* result,
1328 int32_t resultLength,
1329 UErrorCode* status);
1330
1347U_CAPI void U_EXPORT2
1350 const UChar* newValue,
1351 int32_t newValueLength,
1352 UErrorCode *status);
1353
1370U_CAPI int32_t U_EXPORT2
1372 UBool isPatternLocalized,
1373 UChar* result,
1374 int32_t resultLength,
1375 UErrorCode* status);
1376
1377
1458
1463
1464#ifndef U_HIDE_INTERNAL_API
1469#endif
1470
1471#ifndef U_HIDE_DEPRECATED_API
1477#endif /* U_HIDE_DEPRECATED_API */
1479
1496U_CAPI int32_t U_EXPORT2
1498 UNumberFormatSymbol symbol,
1499 UChar *buffer,
1500 int32_t size,
1501 UErrorCode *status);
1502
1516U_CAPI void U_EXPORT2
1518 UNumberFormatSymbol symbol,
1519 const UChar *value,
1520 int32_t length,
1521 UErrorCode *status);
1522
1523
1533U_CAPI const char* U_EXPORT2
1535 ULocDataLocaleType type,
1536 UErrorCode* status);
1537
1546U_CAPI void U_EXPORT2
1548
1558U_CAPI UDisplayContext U_EXPORT2
1560
1561#endif /* #if !UCONFIG_NO_FORMATTING */
1562
1563#endif
"Smart pointer" class, closes a UNumberFormat via unum_close().
C++ API: "Smart pointers" for use with and in ICU4C C++ code.
#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction)
"Smart pointer" definition macro, deletes objects via the closeFunction.
Definition: localpointer.h:550
C API: Parse Error Information.
A struct representing a range of text containing a specific field.
Definition: umisc.h:34
A UParseError struct is used to returned detailed information about parsing errors.
Definition: parseerr.h:58
C API: Encapsulates information about a currency.
C API: Display context types (enum values)
UDisplayContextType
Display context types, for getting values of a particular setting.
UDisplayContext
Display context settings.
C API: UFieldPositionIterator for use with format APIs.
struct UFieldPositionIterator UFieldPositionIterator
C typedef for struct UFieldPositionIterator.
Definition: ufieldpositer.h:46
C API: UFormattable is a thin wrapper for primitive types used for formatting and parsing.
void * UFormattable
Opaque type representing various types of data which may be used for formatting and parsing operation...
Definition: uformattable.h:72
C API: Locale ID functionality similar to C++ class Locale.
ULocDataLocaleType
Constants for *_getLocale() Allow user to select whether she wants information on requested,...
Definition: uloc.h:338
int8_t UBool
The ICU boolean type, a signed-byte integer.
Definition: umachine.h:269
#define U_CAPI
This is used to declare a function as a public ICU C API.
Definition: umachine.h:110
char16_t UChar
The base type for UTF-16 code units and pointers.
Definition: umachine.h:412
C API: Miscellaneous definitions.
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.
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.
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...
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.
UNumberFormatAttribute
The possible UNumberFormat numeric attributes.
Definition: unum.h:1024
@ UNUM_GROUPING_SIZE
Grouping size.
Definition: unum.h:1046
@ UNUM_LENIENT_PARSE
Lenient parse mode used by rule-based formats.
Definition: unum.h:1069
@ UNUM_MIN_SIGNIFICANT_DIGITS
Minimum significant digits.
Definition: unum.h:1062
@ UNUM_MAX_INTEGER_DIGITS
Maximum integer digits.
Definition: unum.h:1032
@ UNUM_MAX_FRACTION_DIGITS
Maximum fraction digits.
Definition: unum.h:1038
@ UNUM_PARSE_NO_EXPONENT
if this attribute is set to 1, specifies that, if the pattern doesn't contain an exponent,...
Definition: unum.h:1127
@ UNUM_FORMAT_WIDTH
The width to which the output of format() is padded.
Definition: unum.h:1052
@ UNUM_LIMIT_BOOLEAN_ATTRIBUTE
Limit of boolean attributes.
Definition: unum.h:1159
@ UNUM_PARSE_INT_ONLY
Parse integers only.
Definition: unum.h:1026
@ UNUM_MULTIPLIER
Multiplier.
Definition: unum.h:1044
@ UNUM_ROUNDING_INCREMENT
Rounding increment.
Definition: unum.h:1050
@ UNUM_PARSE_CASE_SENSITIVE
Parsing: if set to 1, parsing is sensitive to case (lowercase/uppercase).
Definition: unum.h:1144
@ UNUM_SIGNIFICANT_DIGITS_USED
Use significant digits.
Definition: unum.h:1059
@ UNUM_MINIMUM_GROUPING_DIGITS
Minimum grouping digits; most commonly set to 2 to print "1000" instead of "1,000".
Definition: unum.h:1098
@ UNUM_SECONDARY_GROUPING_SIZE
Secondary grouping size.
Definition: unum.h:1056
@ UNUM_MIN_FRACTION_DIGITS
Minimum fraction digits.
Definition: unum.h:1040
@ UNUM_DECIMAL_ALWAYS_SHOWN
Always show decimal point.
Definition: unum.h:1030
@ UNUM_MAX_SIGNIFICANT_DIGITS
Maximum significant digits.
Definition: unum.h:1065
@ UNUM_INTEGER_DIGITS
Integer digits.
Definition: unum.h:1036
@ UNUM_FRACTION_DIGITS
Fraction digits.
Definition: unum.h:1042
@ UNUM_PARSE_DECIMAL_MARK_REQUIRED
if this attribute is set to 1, specifies that, if the pattern contains a decimal mark the input is re...
Definition: unum.h:1137
@ UNUM_SIGN_ALWAYS_SHOWN
Formatting: if set to 1, whether to show the plus sign on non-negative numbers.
Definition: unum.h:1153
@ UNUM_FORMAT_FAIL_IF_MORE_THAN_MAX_DIGITS
If 1, specifies that if setting the "max integer digits" attribute would truncate a value,...
Definition: unum.h:1120
@ UNUM_CURRENCY_USAGE
if this attribute is set to 0, it is set to UNUM_CURRENCY_STANDARD purpose, otherwise it is UNUM_CASH...
Definition: unum.h:1106
@ UNUM_ROUNDING_MODE
Rounding Mode.
Definition: unum.h:1048
@ UNUM_SCALE
Scale, which adjusts the position of the decimal point when formatting.
Definition: unum.h:1088
@ UNUM_PADDING_POSITION
The position at which padding will take place.
Definition: unum.h:1054
@ UNUM_MAX_NONBOOLEAN_ATTRIBUTE
One below the first bitfield-boolean item.
Definition: unum.h:1112
@ UNUM_MIN_INTEGER_DIGITS
Minimum integer digits.
Definition: unum.h:1034
@ UNUM_GROUPING_USED
Use grouping separator.
Definition: unum.h:1028
U_CAPI UNumberFormat * unum_clone(const UNumberFormat *fmt, UErrorCode *status)
Open a copy of 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.
UCurrencySpacing
Constants for specifying currency spacing.
Definition: unum.h:349
@ UNUM_CURRENCY_SPACING_COUNT
One more than the highest normal UCurrencySpacing value.
Definition: unum.h:364
@ UNUM_CURRENCY_SURROUNDING_MATCH
Definition: unum.h:353
@ UNUM_CURRENCY_MATCH
Definition: unum.h:351
@ UNUM_CURRENCY_INSERT
Definition: unum.h:355
UNumberFormatRoundingMode
The possible number format rounding modes.
Definition: unum.h:282
@ UNUM_ROUND_UNNECESSARY
ROUND_UNNECESSARY reports an error if formatted result is not exact.
Definition: unum.h:305
@ UNUM_ROUND_HALFEVEN
Half-even rounding.
Definition: unum.h:291
@ UNUM_ROUND_HALF_ODD
Rounds ties toward the odd number.
Definition: unum.h:310
@ UNUM_FOUND_HALFEVEN
Half-even rounding, misspelled name.
Definition: unum.h:297
@ UNUM_ROUND_HALF_FLOOR
Rounds ties toward -∞.
Definition: unum.h:320
@ UNUM_ROUND_HALF_CEILING
Rounds ties toward +∞.
Definition: unum.h:315
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_formatInt64(const UNumberFormat *fmt, int64_t number, UChar *result, int32_t resultLength, UFieldPosition *pos, UErrorCode *status)
Format an int64 using a UNumberFormat.
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.
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.
UNumberCompactStyle
Constants for specifying short or long format.
Definition: unum.h:337
@ UNUM_LONG
Definition: unum.h:341
@ UNUM_SHORT
Definition: unum.h:339
U_CAPI bool unum_hasAttribute(const UNumberFormat *fmt, UNumberFormatAttribute attr)
Returns true if the formatter supports the specified attribute and false if not.
UNumberFormatStyle
The possible number format styles.
Definition: unum.h:149
@ UNUM_CURRENCY
Currency format (generic).
Definition: unum.h:168
@ UNUM_SCIENTIFIC
Scientific format.
Definition: unum.h:178
@ UNUM_CURRENCY_PLURAL
Currency format with a pluralized currency name, e.g., "1.00 US dollar" and "3.00 US dollars".
Definition: unum.h:218
@ UNUM_PATTERN_RULEBASED
Rule-based format defined by a pattern string.
Definition: unum.h:207
@ UNUM_SPELLOUT
Spellout rule-based format.
Definition: unum.h:185
@ UNUM_DECIMAL_COMPACT_SHORT
Decimal format expressed using compact notation (short form, corresponds to UNumberCompactStyle=UNUM_...
Definition: unum.h:238
@ UNUM_CASH_CURRENCY
Currency format with a currency symbol given CASH usage, e.g., "NT$3" instead of "NT$3....
Definition: unum.h:231
@ UNUM_DECIMAL_COMPACT_LONG
Decimal format expressed using compact notation (long form, corresponds to UNumberCompactStyle=UNUM_L...
Definition: unum.h:245
@ UNUM_FORMAT_STYLE_COUNT
One more than the highest normal UNumberFormatStyle value.
Definition: unum.h:259
@ UNUM_PERCENT
Percent format.
Definition: unum.h:173
@ UNUM_ORDINAL
Ordinal rule-based format .
Definition: unum.h:192
@ UNUM_CURRENCY_ISO
Currency format with an ISO currency code, e.g., "USD1.00".
Definition: unum.h:212
@ UNUM_NUMBERING_SYSTEM
Numbering system rule-based format.
Definition: unum.h:202
@ UNUM_CURRENCY_STANDARD
Currency format with a currency symbol, e.g., "$1.00", using non-accounting style for negative values...
Definition: unum.h:252
@ UNUM_DEFAULT
Default format.
Definition: unum.h:266
@ UNUM_PATTERN_DECIMAL
Decimal format defined by a pattern string.
Definition: unum.h:154
@ UNUM_DURATION
Duration rule-based format.
Definition: unum.h:197
@ UNUM_CURRENCY_ACCOUNTING
Currency format for accounting, e.g., "($3.00)" for negative currency amount instead of "-$3....
Definition: unum.h:225
@ UNUM_IGNORE
Alias for UNUM_PATTERN_DECIMAL.
Definition: unum.h:271
@ UNUM_DECIMAL
Decimal format ("normal" style).
Definition: unum.h:159
U_CAPI int32_t unum_toPattern(const UNumberFormat *fmt, UBool isPatternLocalized, UChar *result, int32_t resultLength, UErrorCode *status)
Extract the pattern from a UNumberFormat.
U_CAPI double unum_getDoubleAttribute(const UNumberFormat *fmt, UNumberFormatAttribute attr)
Get a numeric attribute 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...
U_CAPI int32_t unum_countAvailable(void)
Determine how many locales have decimal formatting patterns available.
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.
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.
UNumberFormatSymbol
Constants for specifying a number format symbol.
Definition: unum.h:1382
@ UNUM_FOUR_DIGIT_SYMBOL
Four.
Definition: unum.h:1437
@ UNUM_PERMILL_SYMBOL
Per mill symbol.
Definition: unum.h:1408
@ UNUM_SIGNIFICANT_DIGIT_SYMBOL
Significant digit symbol.
Definition: unum.h:1417
@ UNUM_PAD_ESCAPE_SYMBOL
Escape padding character.
Definition: unum.h:1410
@ UNUM_INFINITY_SYMBOL
Infinity symbol.
Definition: unum.h:1412
@ UNUM_TWO_DIGIT_SYMBOL
Two.
Definition: unum.h:1429
@ UNUM_EXPONENTIAL_SYMBOL
The exponential symbol.
Definition: unum.h:1406
@ UNUM_CURRENCY_SYMBOL
The currency symbol.
Definition: unum.h:1400
@ UNUM_INTL_CURRENCY_SYMBOL
The international currency symbol.
Definition: unum.h:1402
@ UNUM_FIVE_DIGIT_SYMBOL
Five.
Definition: unum.h:1441
@ UNUM_EXPONENT_MULTIPLICATION_SYMBOL
Multiplication sign.
Definition: unum.h:1462
@ UNUM_EIGHT_DIGIT_SYMBOL
Eight.
Definition: unum.h:1453
@ UNUM_MONETARY_GROUPING_SEPARATOR_SYMBOL
The monetary grouping separator.
Definition: unum.h:1421
@ UNUM_PERCENT_SYMBOL
The percent sign.
Definition: unum.h:1390
@ UNUM_PATTERN_SEPARATOR_SYMBOL
The pattern separator.
Definition: unum.h:1388
@ UNUM_DECIMAL_SEPARATOR_SYMBOL
The decimal separator.
Definition: unum.h:1384
@ UNUM_PLUS_SIGN_SYMBOL
The plus sign.
Definition: unum.h:1398
@ UNUM_GROUPING_SEPARATOR_SYMBOL
The grouping separator.
Definition: unum.h:1386
@ UNUM_NAN_SYMBOL
Nan symbol.
Definition: unum.h:1414
@ UNUM_SIX_DIGIT_SYMBOL
Six.
Definition: unum.h:1445
@ UNUM_NINE_DIGIT_SYMBOL
Nine.
Definition: unum.h:1457
@ UNUM_APPROXIMATELY_SIGN_SYMBOL
Approximately sign.
Definition: unum.h:1468
@ UNUM_MINUS_SIGN_SYMBOL
The minus sign.
Definition: unum.h:1396
@ UNUM_MONETARY_SEPARATOR_SYMBOL
The monetary separator.
Definition: unum.h:1404
@ UNUM_DIGIT_SYMBOL
Character representing a digit in the pattern.
Definition: unum.h:1394
@ UNUM_THREE_DIGIT_SYMBOL
Three.
Definition: unum.h:1433
@ UNUM_ZERO_DIGIT_SYMBOL
Zero.
Definition: unum.h:1392
@ UNUM_ONE_DIGIT_SYMBOL
One.
Definition: unum.h:1425
@ UNUM_FORMAT_SYMBOL_COUNT
One more than the highest normal UNumberFormatSymbol value.
Definition: unum.h:1476
@ UNUM_SEVEN_DIGIT_SYMBOL
Seven.
Definition: unum.h:1449
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.
UNumberFormatMinimumGroupingDigits
Selectors with special numeric values to use locale default minimum grouping digits for the DecimalFo...
Definition: unum.h:431
@ UNUM_MINIMUM_GROUPING_DIGITS_MIN2
Display grouping using locale defaults, except do not show grouping on values smaller than 10000 (suc...
Definition: unum.h:443
@ UNUM_MINIMUM_GROUPING_DIGITS_AUTO
Display grouping using the default strategy for all locales.
Definition: unum.h:436
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 const char * unum_getAvailable(int32_t localeIndex)
Get a locale for which decimal formatting patterns are available.
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.
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 int32_t unum_getAttribute(const UNumberFormat *fmt, UNumberFormatAttribute attr)
Get a numeric attribute associated with a UNumberFormat.
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.
UNumberFormatTextAttribute
The possible UNumberFormat text attributes.
Definition: unum.h:1273
@ UNUM_NEGATIVE_PREFIX
Negative prefix.
Definition: unum.h:1279
@ UNUM_POSITIVE_PREFIX
Positive prefix.
Definition: unum.h:1275
@ UNUM_DEFAULT_RULESET
The default rule set, such as "%spellout-numbering-year:", "%spellout-cardinal:", "%spellout-ordinal-...
Definition: unum.h:1294
@ UNUM_PUBLIC_RULESETS
The public rule sets.
Definition: unum.h:1303
@ UNUM_PADDING_CHARACTER
The character used to pad to the format width.
Definition: unum.h:1283
@ UNUM_CURRENCY_CODE
The ISO currency code.
Definition: unum.h:1285
@ UNUM_NEGATIVE_SUFFIX
Negative suffix.
Definition: unum.h:1281
@ UNUM_POSITIVE_SUFFIX
Positive suffix.
Definition: unum.h:1277
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 void unum_setDoubleAttribute(UNumberFormat *fmt, UNumberFormatAttribute attr, double newValue)
Set a numeric attribute associated with a UNumberFormat.
void * UNumberFormat
A number formatter.
Definition: unum.h:144
U_CAPI void unum_setAttribute(UNumberFormat *fmt, UNumberFormatAttribute attr, int32_t newValue)
Set a numeric attribute associated with a UNumberFormat.
UNumberFormatPadPosition
The possible number format pad positions.
Definition: unum.h:326
U_CAPI void unum_close(UNumberFormat *fmt)
Close a UNumberFormat.
UNumberFormatFields
FieldPosition and UFieldPosition selectors for format fields defined by NumberFormat and UNumberForma...
Definition: unum.h:375
@ UNUM_MEASURE_UNIT_FIELD
Definition: unum.h:399
@ UNUM_COMPACT_FIELD
Definition: unum.h:401
@ UNUM_INTEGER_FIELD
Definition: unum.h:377
@ UNUM_PERCENT_FIELD
Definition: unum.h:393
@ UNUM_PERMILL_FIELD
Definition: unum.h:395
@ UNUM_EXPONENT_SYMBOL_FIELD
Definition: unum.h:383
@ UNUM_GROUPING_SEPARATOR_FIELD
Definition: unum.h:389
@ UNUM_DECIMAL_SEPARATOR_FIELD
Definition: unum.h:381
@ UNUM_APPROXIMATELY_SIGN_FIELD
Approximately sign.
Definition: unum.h:407
@ UNUM_SIGN_FIELD
Definition: unum.h:397
@ UNUM_CURRENCY_FIELD
Definition: unum.h:391
@ UNUM_FRACTION_FIELD
Definition: unum.h:379
@ UNUM_FIELD_COUNT
One more than the highest normal UNumberFormatFields value.
Definition: unum.h:416
@ UNUM_EXPONENT_SIGN_FIELD
Definition: unum.h:385
@ UNUM_EXPONENT_FIELD
Definition: unum.h:387
U_CAPI void unum_setSymbol(UNumberFormat *fmt, UNumberFormatSymbol symbol, const UChar *value, int32_t length, UErrorCode *status)
Set a symbol associated with a UNumberFormat.
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.
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.
U_CAPI const char * unum_getLocaleByType(const UNumberFormat *fmt, ULocDataLocaleType type, UErrorCode *status)
Get the locale for this number format object.
Basic definitions for ICU, for both C and C++ APIs.
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
Definition: utypes.h:415