Linux premium155.web-hosting.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64
LiteSpeed
: 162.0.235.200 | : 18.226.82.90
Cant Read [ /etc/named.conf ]
7.4.33
varifktc
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
opt /
alt /
alt-nodejs20 /
root /
usr /
include /
unicode /
[ HOME SHELL ]
Name
Size
Permission
Action
alphaindex.h
26.54
KB
-rw-r--r--
appendable.h
8.54
KB
-rw-r--r--
basictz.h
9.99
KB
-rw-r--r--
brkiter.h
27.83
KB
-rw-r--r--
bytestream.h
10.75
KB
-rw-r--r--
bytestrie.h
20.8
KB
-rw-r--r--
bytestriebuilder.h
7.48
KB
-rw-r--r--
calendar.h
107.68
KB
-rw-r--r--
caniter.h
7.53
KB
-rw-r--r--
casemap.h
25.42
KB
-rw-r--r--
char16ptr.h
7.22
KB
-rw-r--r--
chariter.h
23.79
KB
-rw-r--r--
choicfmt.h
23.99
KB
-rw-r--r--
coleitr.h
13.77
KB
-rw-r--r--
coll.h
56.28
KB
-rw-r--r--
compactdecimalformat.h
6.88
KB
-rw-r--r--
curramt.h
3.67
KB
-rw-r--r--
currpinf.h
7.3
KB
-rw-r--r--
currunit.h
4.02
KB
-rw-r--r--
datefmt.h
40.7
KB
-rw-r--r--
dbbi.h
1.19
KB
-rw-r--r--
dcfmtsym.h
20.93
KB
-rw-r--r--
decimfmt.h
87.46
KB
-rw-r--r--
displayoptions.h
7.08
KB
-rw-r--r--
docmain.h
7.46
KB
-rw-r--r--
dtfmtsym.h
38.21
KB
-rw-r--r--
dtintrv.h
3.84
KB
-rw-r--r--
dtitvfmt.h
48.87
KB
-rw-r--r--
dtitvinf.h
18.63
KB
-rw-r--r--
dtptngen.h
28.05
KB
-rw-r--r--
dtrule.h
8.66
KB
-rw-r--r--
edits.h
20.73
KB
-rw-r--r--
enumset.h
2.08
KB
-rw-r--r--
errorcode.h
4.84
KB
-rw-r--r--
fieldpos.h
8.69
KB
-rw-r--r--
filteredbrk.h
5.37
KB
-rw-r--r--
fmtable.h
24.36
KB
-rw-r--r--
format.h
12.5
KB
-rw-r--r--
formattednumber.h
6.28
KB
-rw-r--r--
formattedvalue.h
9.75
KB
-rw-r--r--
fpositer.h
3.03
KB
-rw-r--r--
gender.h
3.35
KB
-rw-r--r--
gregocal.h
30.3
KB
-rw-r--r--
icudataver.h
1.02
KB
-rw-r--r--
icuplug.h
12.1
KB
-rw-r--r--
idna.h
12.71
KB
-rw-r--r--
listformatter.h
8.59
KB
-rw-r--r--
localebuilder.h
11.08
KB
-rw-r--r--
localematcher.h
26.86
KB
-rw-r--r--
localpointer.h
19.55
KB
-rw-r--r--
locdspnm.h
7.12
KB
-rw-r--r--
locid.h
48.31
KB
-rw-r--r--
measfmt.h
11.41
KB
-rw-r--r--
measunit.h
108.23
KB
-rw-r--r--
measure.h
4.68
KB
-rw-r--r--
messageformat2.h
18.13
KB
-rw-r--r--
messageformat2_arguments.h
4.3
KB
-rw-r--r--
messageformat2_data_model.h
123
KB
-rw-r--r--
messageformat2_data_model_name...
784
B
-rw-r--r--
messageformat2_formattable.h
38.29
KB
-rw-r--r--
messageformat2_function_regist...
18
KB
-rw-r--r--
messagepattern.h
33.72
KB
-rw-r--r--
msgfmt.h
44.2
KB
-rw-r--r--
normalizer2.h
34.73
KB
-rw-r--r--
normlzr.h
30.79
KB
-rw-r--r--
nounit.h
2.24
KB
-rw-r--r--
numberformatter.h
90.74
KB
-rw-r--r--
numberrangeformatter.h
26.05
KB
-rw-r--r--
numfmt.h
50.16
KB
-rw-r--r--
numsys.h
7.22
KB
-rw-r--r--
parseerr.h
3.08
KB
-rw-r--r--
parsepos.h
5.56
KB
-rw-r--r--
platform.h
26.66
KB
-rw-r--r--
plurfmt.h
25.07
KB
-rw-r--r--
plurrule.h
20.63
KB
-rw-r--r--
ptypes.h
2.16
KB
-rw-r--r--
putil.h
6.32
KB
-rw-r--r--
rbbi.h
32.04
KB
-rw-r--r--
rbnf.h
50.53
KB
-rw-r--r--
rbtz.h
15.75
KB
-rw-r--r--
regex.h
84.45
KB
-rw-r--r--
region.h
9.2
KB
-rw-r--r--
reldatefmt.h
22.36
KB
-rw-r--r--
rep.h
9.38
KB
-rw-r--r--
resbund.h
18.03
KB
-rw-r--r--
schriter.h
6.09
KB
-rw-r--r--
scientificnumberformatter.h
6.44
KB
-rw-r--r--
search.h
22.21
KB
-rw-r--r--
selfmt.h
14.35
KB
-rw-r--r--
simpleformatter.h
12.58
KB
-rw-r--r--
simplenumberformatter.h
9.18
KB
-rw-r--r--
simpletz.h
45.62
KB
-rw-r--r--
smpdtfmt.h
57.06
KB
-rw-r--r--
sortkey.h
11.12
KB
-rw-r--r--
std_string.h
1.05
KB
-rw-r--r--
strenum.h
9.96
KB
-rw-r--r--
stringoptions.h
5.79
KB
-rw-r--r--
stringpiece.h
10.02
KB
-rw-r--r--
stringtriebuilder.h
15.5
KB
-rw-r--r--
stsearch.h
21.43
KB
-rw-r--r--
symtable.h
4.28
KB
-rw-r--r--
tblcoll.h
36.93
KB
-rw-r--r--
timezone.h
45.64
KB
-rw-r--r--
tmunit.h
3.4
KB
-rw-r--r--
tmutamt.h
4.9
KB
-rw-r--r--
tmutfmt.h
7.42
KB
-rw-r--r--
translit.h
65.8
KB
-rw-r--r--
tzfmt.h
42.95
KB
-rw-r--r--
tznames.h
16.85
KB
-rw-r--r--
tzrule.h
34.81
KB
-rw-r--r--
tztrans.h
6.11
KB
-rw-r--r--
ubidi.h
89.61
KB
-rw-r--r--
ubiditransform.h
12.71
KB
-rw-r--r--
ubrk.h
24.43
KB
-rw-r--r--
ucal.h
64.01
KB
-rw-r--r--
ucasemap.h
15.21
KB
-rw-r--r--
ucat.h
5.35
KB
-rw-r--r--
uchar.h
150.13
KB
-rw-r--r--
ucharstrie.h
22.56
KB
-rw-r--r--
ucharstriebuilder.h
7.48
KB
-rw-r--r--
uchriter.h
13.24
KB
-rw-r--r--
uclean.h
11.21
KB
-rw-r--r--
ucnv.h
83.34
KB
-rw-r--r--
ucnv_cb.h
6.58
KB
-rw-r--r--
ucnv_err.h
20.98
KB
-rw-r--r--
ucnvsel.h
6.24
KB
-rw-r--r--
ucol.h
62.7
KB
-rw-r--r--
ucoleitr.h
9.82
KB
-rw-r--r--
uconfig.h
12.56
KB
-rw-r--r--
ucpmap.h
5.54
KB
-rw-r--r--
ucptrie.h
22.51
KB
-rw-r--r--
ucsdet.h
14.69
KB
-rw-r--r--
ucurr.h
16.72
KB
-rw-r--r--
udat.h
62.36
KB
-rw-r--r--
udata.h
15.63
KB
-rw-r--r--
udateintervalformat.h
11.93
KB
-rw-r--r--
udatpg.h
30.13
KB
-rw-r--r--
udisplaycontext.h
5.94
KB
-rw-r--r--
udisplayoptions.h
8.86
KB
-rw-r--r--
uenum.h
7.79
KB
-rw-r--r--
ufieldpositer.h
4.41
KB
-rw-r--r--
uformattable.h
10.97
KB
-rw-r--r--
uformattednumber.h
8.09
KB
-rw-r--r--
uformattedvalue.h
12.25
KB
-rw-r--r--
ugender.h
2.06
KB
-rw-r--r--
uidna.h
33.43
KB
-rw-r--r--
uiter.h
22.75
KB
-rw-r--r--
uldnames.h
10.48
KB
-rw-r--r--
ulistformatter.h
10.78
KB
-rw-r--r--
uloc.h
55.38
KB
-rw-r--r--
ulocale.h
6.35
KB
-rw-r--r--
ulocbuilder.h
16.73
KB
-rw-r--r--
ulocdata.h
11.3
KB
-rw-r--r--
umachine.h
14.59
KB
-rw-r--r--
umisc.h
1.34
KB
-rw-r--r--
umsg.h
24.25
KB
-rw-r--r--
umutablecptrie.h
8.3
KB
-rw-r--r--
unifilt.h
4
KB
-rw-r--r--
unifunct.h
4.05
KB
-rw-r--r--
unimatch.h
6.1
KB
-rw-r--r--
unirepl.h
3.38
KB
-rw-r--r--
uniset.h
66.82
KB
-rw-r--r--
unistr.h
171.33
KB
-rw-r--r--
unorm.h
20.55
KB
-rw-r--r--
unorm2.h
25.71
KB
-rw-r--r--
unum.h
55.16
KB
-rw-r--r--
unumberformatter.h
19.68
KB
-rw-r--r--
unumberoptions.h
5.23
KB
-rw-r--r--
unumberrangeformatter.h
15.35
KB
-rw-r--r--
unumsys.h
7.26
KB
-rw-r--r--
uobject.h
10.66
KB
-rw-r--r--
upluralrules.h
8.79
KB
-rw-r--r--
uregex.h
71.99
KB
-rw-r--r--
uregion.h
9.81
KB
-rw-r--r--
ureldatefmt.h
16.98
KB
-rw-r--r--
urename.h
141.31
KB
-rw-r--r--
urep.h
5.38
KB
-rw-r--r--
ures.h
36.65
KB
-rw-r--r--
uscript.h
27.89
KB
-rw-r--r--
usearch.h
39.21
KB
-rw-r--r--
uset.h
45.56
KB
-rw-r--r--
usetiter.h
9.63
KB
-rw-r--r--
ushape.h
18
KB
-rw-r--r--
usimplenumberformatter.h
7.63
KB
-rw-r--r--
uspoof.h
80.32
KB
-rw-r--r--
usprep.h
8.19
KB
-rw-r--r--
ustdio.h
38.56
KB
-rw-r--r--
ustream.h
1.89
KB
-rw-r--r--
ustring.h
72.13
KB
-rw-r--r--
ustringtrie.h
3.15
KB
-rw-r--r--
utext.h
58.1
KB
-rw-r--r--
utf.h
7.87
KB
-rw-r--r--
utf16.h
23.35
KB
-rw-r--r--
utf32.h
763
B
-rw-r--r--
utf8.h
30.83
KB
-rw-r--r--
utf_old.h
45.8
KB
-rw-r--r--
utmscale.h
13.78
KB
-rw-r--r--
utrace.h
17.18
KB
-rw-r--r--
utrans.h
25.54
KB
-rw-r--r--
utypes.h
33.71
KB
-rw-r--r--
uvernum.h
6.33
KB
-rw-r--r--
uversion.h
5.99
KB
-rw-r--r--
vtzone.h
20.68
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : 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__
Close