X7ROOT File Manager
Current Path:
/opt/alt/alt-nodejs18/root/usr/include/unicode
opt
/
alt
/
alt-nodejs18
/
root
/
usr
/
include
/
unicode
/
๐
..
๐
alphaindex.h
(26.54 KB)
๐
appendable.h
(8.54 KB)
๐
basictz.h
(9.99 KB)
๐
brkiter.h
(27.86 KB)
๐
bytestream.h
(10.75 KB)
๐
bytestrie.h
(20.8 KB)
๐
bytestriebuilder.h
(7.48 KB)
๐
calendar.h
(106.52 KB)
๐
caniter.h
(7.47 KB)
๐
casemap.h
(25.42 KB)
๐
char16ptr.h
(7.22 KB)
๐
chariter.h
(24.06 KB)
๐
choicfmt.h
(24 KB)
๐
coleitr.h
(13.78 KB)
๐
coll.h
(56.3 KB)
๐
compactdecimalformat.h
(6.88 KB)
๐
curramt.h
(3.67 KB)
๐
currpinf.h
(7.3 KB)
๐
currunit.h
(4.02 KB)
๐
datefmt.h
(40.72 KB)
๐
dbbi.h
(1.19 KB)
๐
dcfmtsym.h
(20.94 KB)
๐
decimfmt.h
(87.54 KB)
๐
displayoptions.h
(7.08 KB)
๐
docmain.h
(7.3 KB)
๐
dtfmtsym.h
(38.23 KB)
๐
dtintrv.h
(3.85 KB)
๐
dtitvfmt.h
(49.26 KB)
๐
dtitvinf.h
(18.63 KB)
๐
dtptngen.h
(28.64 KB)
๐
dtrule.h
(8.69 KB)
๐
edits.h
(20.73 KB)
๐
enumset.h
(2.08 KB)
๐
errorcode.h
(4.84 KB)
๐
fieldpos.h
(8.7 KB)
๐
filteredbrk.h
(5.37 KB)
๐
fmtable.h
(24.45 KB)
๐
format.h
(12.5 KB)
๐
formattednumber.h
(6.15 KB)
๐
formattedvalue.h
(9.75 KB)
๐
fpositer.h
(3.03 KB)
๐
gender.h
(3.35 KB)
๐
gregocal.h
(30.03 KB)
๐
icudataver.h
(1.02 KB)
๐
icuplug.h
(12.1 KB)
๐
idna.h
(12.71 KB)
๐
listformatter.h
(8.59 KB)
๐
localebuilder.h
(11.08 KB)
๐
localematcher.h
(26.83 KB)
๐
localpointer.h
(19.44 KB)
๐
locdspnm.h
(7.12 KB)
๐
locid.h
(48.27 KB)
๐
measfmt.h
(11.42 KB)
๐
measunit.h
(107.38 KB)
๐
measure.h
(4.69 KB)
๐
messagepattern.h
(33.72 KB)
๐
msgfmt.h
(44.21 KB)
๐
normalizer2.h
(34.73 KB)
๐
normlzr.h
(30.97 KB)
๐
nounit.h
(2.25 KB)
๐
numberformatter.h
(90.03 KB)
๐
numberrangeformatter.h
(25.32 KB)
๐
numfmt.h
(50.26 KB)
๐
numsys.h
(7.23 KB)
๐
parseerr.h
(3.08 KB)
๐
parsepos.h
(5.57 KB)
๐
platform.h
(27.8 KB)
๐
plurfmt.h
(25.25 KB)
๐
plurrule.h
(20.64 KB)
๐
ptypes.h
(3.49 KB)
๐
putil.h
(6.32 KB)
๐
rbbi.h
(32.07 KB)
๐
rbnf.h
(49.92 KB)
๐
rbtz.h
(15.77 KB)
๐
regex.h
(84.45 KB)
๐
region.h
(9.2 KB)
๐
reldatefmt.h
(22.36 KB)
๐
rep.h
(9.38 KB)
๐
resbund.h
(18.11 KB)
๐
schriter.h
(6.1 KB)
๐
scientificnumberformatter.h
(6.44 KB)
๐
search.h
(22.24 KB)
๐
selfmt.h
(14.35 KB)
๐
simpleformatter.h
(12.6 KB)
๐
simplenumberformatter.h
(8.88 KB)
๐
simpletz.h
(45.65 KB)
๐
smpdtfmt.h
(71.85 KB)
๐
sortkey.h
(11.19 KB)
๐
std_string.h
(1.05 KB)
๐
strenum.h
(9.96 KB)
๐
stringoptions.h
(5.79 KB)
๐
stringpiece.h
(10.05 KB)
๐
stringtriebuilder.h
(15.5 KB)
๐
stsearch.h
(21.44 KB)
๐
symtable.h
(4.28 KB)
๐
tblcoll.h
(36.94 KB)
๐
timezone.h
(45.67 KB)
๐
tmunit.h
(3.4 KB)
๐
tmutamt.h
(4.91 KB)
๐
tmutfmt.h
(7.42 KB)
๐
translit.h
(65.83 KB)
๐
tzfmt.h
(42.96 KB)
๐
tznames.h
(16.85 KB)
๐
tzrule.h
(34.86 KB)
๐
tztrans.h
(6.13 KB)
๐
ubidi.h
(89.61 KB)
๐
ubiditransform.h
(12.71 KB)
๐
ubrk.h
(24.43 KB)
๐
ucal.h
(64.28 KB)
๐
ucasemap.h
(15.21 KB)
๐
ucat.h
(5.35 KB)
๐
uchar.h
(145.7 KB)
๐
ucharstrie.h
(22.56 KB)
๐
ucharstriebuilder.h
(7.48 KB)
๐
uchriter.h
(13.42 KB)
๐
uclean.h
(11.21 KB)
๐
ucnv.h
(83.46 KB)
๐
ucnv_cb.h
(6.58 KB)
๐
ucnv_err.h
(20.98 KB)
๐
ucnvsel.h
(6.24 KB)
๐
ucol.h
(62.7 KB)
๐
ucoleitr.h
(9.82 KB)
๐
uconfig.h
(12.31 KB)
๐
ucpmap.h
(5.54 KB)
๐
ucptrie.h
(22.51 KB)
๐
ucsdet.h
(14.69 KB)
๐
ucurr.h
(16.72 KB)
๐
udat.h
(62.36 KB)
๐
udata.h
(15.63 KB)
๐
udateintervalformat.h
(11.93 KB)
๐
udatpg.h
(30.13 KB)
๐
udisplaycontext.h
(5.94 KB)
๐
udisplayoptions.h
(8.86 KB)
๐
uenum.h
(7.79 KB)
๐
ufieldpositer.h
(4.41 KB)
๐
uformattable.h
(10.97 KB)
๐
uformattednumber.h
(8.09 KB)
๐
uformattedvalue.h
(12.25 KB)
๐
ugender.h
(2.06 KB)
๐
uidna.h
(33.43 KB)
๐
uiter.h
(22.75 KB)
๐
uldnames.h
(10.48 KB)
๐
ulistformatter.h
(10.78 KB)
๐
uloc.h
(54.66 KB)
๐
ulocale.h
(6.35 KB)
๐
ulocbuilder.h
(16.72 KB)
๐
ulocdata.h
(11.3 KB)
๐
umachine.h
(15 KB)
๐
umisc.h
(1.34 KB)
๐
umsg.h
(24.25 KB)
๐
umutablecptrie.h
(8.3 KB)
๐
unifilt.h
(4 KB)
๐
unifunct.h
(4.05 KB)
๐
unimatch.h
(6.1 KB)
๐
unirepl.h
(3.38 KB)
๐
uniset.h
(66.85 KB)
๐
unistr.h
(171.35 KB)
๐
unorm.h
(20.55 KB)
๐
unorm2.h
(25.71 KB)
๐
unum.h
(55.16 KB)
๐
unumberformatter.h
(19.68 KB)
๐
unumberoptions.h
(5.23 KB)
๐
unumberrangeformatter.h
(15.35 KB)
๐
unumsys.h
(7.26 KB)
๐
uobject.h
(10.66 KB)
๐
upluralrules.h
(8.79 KB)
๐
uregex.h
(71.99 KB)
๐
uregion.h
(9.81 KB)
๐
ureldatefmt.h
(16.98 KB)
๐
urename.h
(140.82 KB)
๐
urep.h
(5.38 KB)
๐
ures.h
(36.65 KB)
๐
uscript.h
(27.8 KB)
๐
usearch.h
(39.21 KB)
๐
uset.h
(45.61 KB)
๐
usetiter.h
(9.63 KB)
๐
ushape.h
(18 KB)
๐
usimplenumberformatter.h
(7.46 KB)
๐
uspoof.h
(80.32 KB)
๐
usprep.h
(8.19 KB)
๐
ustdio.h
(38.56 KB)
๐
ustream.h
(1.89 KB)
๐
ustring.h
(72.13 KB)
๐
ustringtrie.h
(3.15 KB)
๐
utext.h
(58.1 KB)
๐
utf.h
(7.87 KB)
๐
utf16.h
(23.35 KB)
๐
utf32.h
(763 B)
๐
utf8.h
(30.83 KB)
๐
utf_old.h
(45.8 KB)
๐
utmscale.h
(13.78 KB)
๐
utrace.h
(17.18 KB)
๐
utrans.h
(25.54 KB)
๐
utypes.h
(31.06 KB)
๐
uvernum.h
(6.33 KB)
๐
uversion.h
(5.99 KB)
๐
vtzone.h
(20.69 KB)
Editing: unumberformatter.h
// ยฉ 2018 and later: Unicode, Inc. and others. // License & terms of use: http://www.unicode.org/copyright.html #ifndef __UNUMBERFORMATTER_H__ #define __UNUMBERFORMATTER_H__ #include "unicode/utypes.h" #if !UCONFIG_NO_FORMATTING #include "unicode/parseerr.h" #include "unicode/unumberoptions.h" #include "unicode/uformattednumber.h" /** * \file * \brief C API: Localized number formatting; not recommended for C++. * * This is the C-compatible version of the NumberFormatter API introduced in ICU 60. C++ users should * include unicode/numberformatter.h and use the proper C++ APIs. * * The C API accepts a number skeleton string for specifying the settings for formatting, which covers a * very large subset of all possible number formatting features. For more information on number skeleton * strings, see unicode/numberformatter.h. * * When using UNumberFormatter, which is treated as immutable, the results are exported to a mutable * UFormattedNumber object, which you subsequently use for populating your string buffer or iterating over * the fields. * * Example code: * <pre> * // Setup: * UErrorCode ec = U_ZERO_ERROR; * UNumberFormatter* uformatter = unumf_openForSkeletonAndLocale(u"precision-integer", -1, "en", &ec); * UFormattedNumber* uresult = unumf_openResult(&ec); * if (U_FAILURE(ec)) { return; } * * // Format a double: * unumf_formatDouble(uformatter, 5142.3, uresult, &ec); * if (U_FAILURE(ec)) { return; } * * // Export the string to a malloc'd buffer: * int32_t len = unumf_resultToString(uresult, NULL, 0, &ec); * // at this point, ec == U_BUFFER_OVERFLOW_ERROR * ec = U_ZERO_ERROR; * UChar* buffer = (UChar*) malloc((len+1)*sizeof(UChar)); * unumf_resultToString(uresult, buffer, len+1, &ec); * if (U_FAILURE(ec)) { return; } * // buffer should equal "5,142" * * // Cleanup: * unumf_close(uformatter); * unumf_closeResult(uresult); * free(buffer); * </pre> * * If you are a C++ user linking against the C libraries, you can use the LocalPointer versions of these * APIs. The following example uses LocalPointer with the decimal number and field position APIs: * * <pre> * // Setup: * LocalUNumberFormatterPointer uformatter(unumf_openForSkeletonAndLocale(u"percent", -1, "en", &ec)); * LocalUFormattedNumberPointer uresult(unumf_openResult(&ec)); * if (U_FAILURE(ec)) { return; } * * // Format a decimal number: * unumf_formatDecimal(uformatter.getAlias(), "9.87E-3", -1, uresult.getAlias(), &ec); * if (U_FAILURE(ec)) { return; } * * // Get the location of the percent sign: * UFieldPosition ufpos = {UNUM_PERCENT_FIELD, 0, 0}; * unumf_resultNextFieldPosition(uresult.getAlias(), &ufpos, &ec); * // ufpos should contain beginIndex=7 and endIndex=8 since the string is "0.00987%" * * // No need to do any cleanup since we are using LocalPointer. * </pre> */ /** * An enum declaring how to resolve conflicts between maximum fraction digits and maximum * significant digits. * * There are two modes, RELAXED and STRICT: * * - RELAXED: Relax one of the two constraints (fraction digits or significant digits) in order * to round the number to a higher level of precision. * - STRICT: Enforce both constraints, resulting in the number being rounded to a lower * level of precision. * * The default settings for compact notation rounding are Max-Fraction = 0 (round to the nearest * integer), Max-Significant = 2 (round to 2 significant digits), and priority RELAXED (choose * the constraint that results in more digits being displayed). * * Conflicting *minimum* fraction and significant digits are always resolved in the direction that * results in more trailing zeros. * * Example 1: Consider the number 3.141, with various different settings: * * - Max-Fraction = 1: "3.1" * - Max-Significant = 3: "3.14" * * The rounding priority determines how to resolve the conflict when both Max-Fraction and * Max-Significant are set. With RELAXED, the less-strict setting (the one that causes more digits * to be displayed) will be used; Max-Significant wins. With STRICT, the more-strict setting (the * one that causes fewer digits to be displayed) will be used; Max-Fraction wins. * * Example 2: Consider the number 8317, with various different settings: * * - Max-Fraction = 1: "8317" * - Max-Significant = 3: "8320" * * Here, RELAXED favors Max-Fraction and STRICT favors Max-Significant. Note that this larger * number caused the two modes to favor the opposite result. * * @stable ICU 69 */ typedef enum UNumberRoundingPriority { /** * Favor greater precision by relaxing one of the rounding constraints. * * @stable ICU 69 */ UNUM_ROUNDING_PRIORITY_RELAXED, /** * Favor adherence to all rounding constraints by producing lower precision. * * @stable ICU 69 */ UNUM_ROUNDING_PRIORITY_STRICT, } UNumberRoundingPriority; /** * An enum declaring how to render units, including currencies. Example outputs when formatting 123 USD and 123 * meters in <em>en-CA</em>: * * <p> * <ul> * <li>NARROW*: "$123.00" and "123 m" * <li>SHORT: "US$ย 123.00" and "123 m" * <li>FULL_NAME: "123.00 US dollars" and "123 meters" * <li>ISO_CODE: "USDย 123.00" and undefined behavior * <li>HIDDEN: "123.00" and "123" * </ul> * * <p> * This enum is similar to {@link UMeasureFormatWidth}. * * @stable ICU 60 */ typedef enum UNumberUnitWidth { /** * Print an abbreviated version of the unit name. Similar to SHORT, but always use the shortest available * abbreviation or symbol. This option can be used when the context hints at the identity of the unit. For more * information on the difference between NARROW and SHORT, see SHORT. * * <p> * In CLDR, this option corresponds to the "Narrow" format for measure units and the "ยคยคยคยคยค" placeholder for * currencies. * * @stable ICU 60 */ UNUM_UNIT_WIDTH_NARROW = 0, /** * Print an abbreviated version of the unit name. Similar to NARROW, but use a slightly wider abbreviation or * symbol when there may be ambiguity. This is the default behavior. * * <p> * For example, in <em>es-US</em>, the SHORT form for Fahrenheit is "{0} ยฐF", but the NARROW form is "{0}ยฐ", * since Fahrenheit is the customary unit for temperature in that locale. * * <p> * In CLDR, this option corresponds to the "Short" format for measure units and the "ยค" placeholder for * currencies. * * @stable ICU 60 */ UNUM_UNIT_WIDTH_SHORT = 1, /** * Print the full name of the unit, without any abbreviations. * * <p> * In CLDR, this option corresponds to the default format for measure units and the "ยคยคยค" placeholder for * currencies. * * @stable ICU 60 */ UNUM_UNIT_WIDTH_FULL_NAME = 2, /** * Use the three-digit ISO XXX code in place of the symbol for displaying currencies. The behavior of this * option is currently undefined for use with measure units. * * <p> * In CLDR, this option corresponds to the "ยคยค" placeholder for currencies. * * @stable ICU 60 */ UNUM_UNIT_WIDTH_ISO_CODE = 3, /** * Use the formal variant of the currency symbol; for example, "NT$" for the New Taiwan * dollar in zh-TW. * * <p> * Behavior of this option with non-currency units is not defined at this time. * * @stable ICU 68 */ UNUM_UNIT_WIDTH_FORMAL = 4, /** * Use the alternate variant of the currency symbol; for example, "TL" for the Turkish * lira (TRY). * * <p> * Behavior of this option with non-currency units is not defined at this time. * * @stable ICU 68 */ UNUM_UNIT_WIDTH_VARIANT = 5, /** * Format the number according to the specified unit, but do not display the unit. For currencies, apply * monetary symbols and formats as with SHORT, but omit the currency symbol. For measure units, the behavior is * equivalent to not specifying the unit at all. * * @stable ICU 60 */ UNUM_UNIT_WIDTH_HIDDEN = 6, // Do not conditionalize the following with #ifndef U_HIDE_INTERNAL_API, // needed for unconditionalized struct MacroProps /** * One more than the highest UNumberUnitWidth value. * * @internal ICU 60: The numeric value may change over time; see ICU ticket #12420. */ UNUM_UNIT_WIDTH_COUNT = 7 } UNumberUnitWidth; /** * An enum declaring how to denote positive and negative numbers. Example outputs when formatting * 123, 0, and -123 in <em>en-US</em>: * * <ul> * <li>AUTO: "123", "0", and "-123" * <li>ALWAYS: "+123", "+0", and "-123" * <li>NEVER: "123", "0", and "123" * <li>ACCOUNTING: "$123", "$0", and "($123)" * <li>ACCOUNTING_ALWAYS: "+$123", "+$0", and "($123)" * <li>EXCEPT_ZERO: "+123", "0", and "-123" * <li>ACCOUNTING_EXCEPT_ZERO: "+$123", "$0", and "($123)" * </ul> * * <p> * The exact format, including the position and the code point of the sign, differ by locale. * * @stable ICU 60 */ typedef enum UNumberSignDisplay { /** * Show the minus sign on negative numbers, and do not show the sign on positive numbers. This is the default * behavior. * * If using this option, a sign will be displayed on negative zero, including negative numbers * that round to zero. To hide the sign on negative zero, use the NEGATIVE option. * * @stable ICU 60 */ UNUM_SIGN_AUTO, /** * Show the minus sign on negative numbers and the plus sign on positive numbers, including zero. * To hide the sign on zero, see {@link UNUM_SIGN_EXCEPT_ZERO}. * * @stable ICU 60 */ UNUM_SIGN_ALWAYS, /** * Do not show the sign on positive or negative numbers. * * @stable ICU 60 */ UNUM_SIGN_NEVER, /** * Use the locale-dependent accounting format on negative numbers, and do not show the sign on positive numbers. * * <p> * The accounting format is defined in CLDR and varies by locale; in many Western locales, the format is a pair * of parentheses around the number. * * <p> * Note: Since CLDR defines the accounting format in the monetary context only, this option falls back to the * AUTO sign display strategy when formatting without a currency unit. This limitation may be lifted in the * future. * * @stable ICU 60 */ UNUM_SIGN_ACCOUNTING, /** * Use the locale-dependent accounting format on negative numbers, and show the plus sign on * positive numbers, including zero. For more information on the accounting format, see the * ACCOUNTING sign display strategy. To hide the sign on zero, see * {@link UNUM_SIGN_ACCOUNTING_EXCEPT_ZERO}. * * @stable ICU 60 */ UNUM_SIGN_ACCOUNTING_ALWAYS, /** * Show the minus sign on negative numbers and the plus sign on positive numbers. Do not show a * sign on zero, numbers that round to zero, or NaN. * * @stable ICU 61 */ UNUM_SIGN_EXCEPT_ZERO, /** * Use the locale-dependent accounting format on negative numbers, and show the plus sign on * positive numbers. Do not show a sign on zero, numbers that round to zero, or NaN. For more * information on the accounting format, see the ACCOUNTING sign display strategy. * * @stable ICU 61 */ UNUM_SIGN_ACCOUNTING_EXCEPT_ZERO, /** * Same as AUTO, but do not show the sign on negative zero. * * @stable ICU 69 */ UNUM_SIGN_NEGATIVE, /** * Same as ACCOUNTING, but do not show the sign on negative zero. * * @stable ICU 69 */ UNUM_SIGN_ACCOUNTING_NEGATIVE, // Do not conditionalize the following with #ifndef U_HIDE_INTERNAL_API, // needed for unconditionalized struct MacroProps /** * One more than the highest UNumberSignDisplay value. * * @internal ICU 60: The numeric value may change over time; see ICU ticket #12420. */ UNUM_SIGN_COUNT = 9, } UNumberSignDisplay; /** * An enum declaring how to render the decimal separator. * * <p> * <ul> * <li>UNUM_DECIMAL_SEPARATOR_AUTO: "1", "1.1" * <li>UNUM_DECIMAL_SEPARATOR_ALWAYS: "1.", "1.1" * </ul> * * @stable ICU 60 */ typedef enum UNumberDecimalSeparatorDisplay { /** * Show the decimal separator when there are one or more digits to display after the separator, and do not show * it otherwise. This is the default behavior. * * @stable ICU 60 */ UNUM_DECIMAL_SEPARATOR_AUTO, /** * Always show the decimal separator, even if there are no digits to display after the separator. * * @stable ICU 60 */ UNUM_DECIMAL_SEPARATOR_ALWAYS, // Do not conditionalize the following with #ifndef U_HIDE_INTERNAL_API, // needed for unconditionalized struct MacroProps /** * One more than the highest UNumberDecimalSeparatorDisplay value. * * @internal ICU 60: The numeric value may change over time; see ICU ticket #12420. */ UNUM_DECIMAL_SEPARATOR_COUNT } UNumberDecimalSeparatorDisplay; /** * An enum declaring how to render trailing zeros. * * - UNUM_TRAILING_ZERO_AUTO: 0.90, 1.00, 1.10 * - UNUM_TRAILING_ZERO_HIDE_IF_WHOLE: 0.90, 1, 1.10 * * @stable ICU 69 */ typedef enum UNumberTrailingZeroDisplay { /** * Display trailing zeros according to the settings for minimum fraction and significant digits. * * @stable ICU 69 */ UNUM_TRAILING_ZERO_AUTO, /** * Same as AUTO, but hide trailing zeros after the decimal separator if they are all zero. * * @stable ICU 69 */ UNUM_TRAILING_ZERO_HIDE_IF_WHOLE, } UNumberTrailingZeroDisplay; struct UNumberFormatter; /** * C-compatible version of icu::number::LocalizedNumberFormatter. * * NOTE: This is a C-compatible API; C++ users should build against numberformatter.h instead. * * @stable ICU 62 */ typedef struct UNumberFormatter UNumberFormatter; /** * Creates a new UNumberFormatter for the given skeleton string and locale. This is currently the only * method for creating a new UNumberFormatter. * * Objects of type UNumberFormatter returned by this method are threadsafe. * * For more details on skeleton strings, see the documentation in numberformatter.h. For more details on * the usage of this API, see the documentation at the top of unumberformatter.h. * * For more information on number skeleton strings, see: * https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html * * NOTE: This is a C-compatible API; C++ users should build against numberformatter.h instead. * * @param skeleton The skeleton string, like u"percent precision-integer" * @param skeletonLen The number of UChars in the skeleton string, or -1 if it is NUL-terminated. * @param locale The NUL-terminated locale ID. * @param ec Set if an error occurs. * @stable ICU 62 */ U_CAPI UNumberFormatter* U_EXPORT2 unumf_openForSkeletonAndLocale(const UChar* skeleton, int32_t skeletonLen, const char* locale, UErrorCode* ec); /** * Like unumf_openForSkeletonAndLocale, but accepts a UParseError, which will be populated with the * location of a skeleton syntax error if such a syntax error exists. * * For more information on number skeleton strings, see: * https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html * * @param skeleton The skeleton string, like u"percent precision-integer" * @param skeletonLen The number of UChars in the skeleton string, or -1 if it is NUL-terminated. * @param locale The NUL-terminated locale ID. * @param perror A parse error struct populated if an error occurs when parsing. Can be NULL. * If no error occurs, perror->offset will be set to -1. * @param ec Set if an error occurs. * @stable ICU 64 */ U_CAPI UNumberFormatter* U_EXPORT2 unumf_openForSkeletonAndLocaleWithError( const UChar* skeleton, int32_t skeletonLen, const char* locale, UParseError* perror, UErrorCode* ec); /** * Uses a UNumberFormatter to format an integer to a UFormattedNumber. A string, field position, and other * information can be retrieved from the UFormattedNumber. * * The UNumberFormatter can be shared between threads. Each thread should have its own local * UFormattedNumber, however, for storing the result of the formatting operation. * * NOTE: This is a C-compatible API; C++ users should build against numberformatter.h instead. * * @param uformatter A formatter object created by unumf_openForSkeletonAndLocale or similar. * @param value The number to be formatted. * @param uresult The object that will be mutated to store the result; see unumf_openResult. * @param ec Set if an error occurs. * @stable ICU 62 */ U_CAPI void U_EXPORT2 unumf_formatInt(const UNumberFormatter* uformatter, int64_t value, UFormattedNumber* uresult, UErrorCode* ec); /** * Uses a UNumberFormatter to format a double to a UFormattedNumber. A string, field position, and other * information can be retrieved from the UFormattedNumber. * * The UNumberFormatter can be shared between threads. Each thread should have its own local * UFormattedNumber, however, for storing the result of the formatting operation. * * NOTE: This is a C-compatible API; C++ users should build against numberformatter.h instead. * * @param uformatter A formatter object created by unumf_openForSkeletonAndLocale or similar. * @param value The number to be formatted. * @param uresult The object that will be mutated to store the result; see unumf_openResult. * @param ec Set if an error occurs. * @stable ICU 62 */ U_CAPI void U_EXPORT2 unumf_formatDouble(const UNumberFormatter* uformatter, double value, UFormattedNumber* uresult, UErrorCode* ec); /** * Uses a UNumberFormatter to format a decimal number to a UFormattedNumber. A string, field position, and * other information can be retrieved from the UFormattedNumber. * * The UNumberFormatter can be shared between threads. Each thread should have its own local * UFormattedNumber, however, for storing the result of the formatting operation. * * The syntax of the unformatted number is a "numeric string" as defined in the Decimal Arithmetic * Specification, available at http://speleotrove.com/decimal * * NOTE: This is a C-compatible API; C++ users should build against numberformatter.h instead. * * @param uformatter A formatter object created by unumf_openForSkeletonAndLocale or similar. * @param value The numeric string to be formatted. * @param valueLen The length of the numeric string, or -1 if it is NUL-terminated. * @param uresult The object that will be mutated to store the result; see unumf_openResult. * @param ec Set if an error occurs. * @stable ICU 62 */ U_CAPI void U_EXPORT2 unumf_formatDecimal(const UNumberFormatter* uformatter, const char* value, int32_t valueLen, UFormattedNumber* uresult, UErrorCode* ec); /** * Releases the UNumberFormatter created by unumf_openForSkeletonAndLocale(). * * @param uformatter An object created by unumf_openForSkeletonAndLocale(). * @stable ICU 62 */ U_CAPI void U_EXPORT2 unumf_close(UNumberFormatter* uformatter); #if U_SHOW_CPLUSPLUS_API U_NAMESPACE_BEGIN /** * \class LocalUNumberFormatterPointer * "Smart pointer" class; closes a UNumberFormatter via unumf_close(). * For most methods see the LocalPointerBase base class. * * Usage: * <pre> * LocalUNumberFormatterPointer uformatter(unumf_openForSkeletonAndLocale(...)); * // no need to explicitly call unumf_close() * </pre> * * @see LocalPointerBase * @see LocalPointer * @stable ICU 62 */ U_DEFINE_LOCAL_OPEN_POINTER(LocalUNumberFormatterPointer, UNumberFormatter, unumf_close); U_NAMESPACE_END #endif // U_SHOW_CPLUSPLUS_API #endif /* #if !UCONFIG_NO_FORMATTING */ #endif //__UNUMBERFORMATTER_H__
Upload File
Create Folder