ICU 74.1 74.1

usimplenumberformatter.h
Go to the documentation of this file.
1 // © 2022 and later: Unicode, Inc. and others.
2 // License & terms of use: http://www.unicode.org/copyright.html
3
4 #ifndef __USIMPLENUMBERFORMATTER_H__
5 #define __USIMPLENUMBERFORMATTER_H__
6
7 #include "unicode/utypes.h"
8
9 #if !UCONFIG_NO_FORMATTING
10
11 #include "unicode/uformattednumber.h"
12 #include "unicode/unumberoptions.h"
13
53 #ifndef U_HIDE_DRAFT_API
54
55
61 typedef enum USimpleNumberSign {
67 UNUM_SIMPLE_NUMBER_PLUS_SIGN,
73 UNUM_SIMPLE_NUMBER_NO_SIGN,
79 UNUM_SIMPLE_NUMBER_MINUS_SIGN,
80 } USimpleNumberSign;
81
82
83 struct USimpleNumber;
89 typedef struct USimpleNumber USimpleNumber;
90
91
92 struct USimpleNumberFormatter;
98 typedef struct USimpleNumberFormatter USimpleNumberFormatter;
99
100
106 U_CAPI USimpleNumber* U_EXPORT2
107 usnum_openForInt64(int64_t value, UErrorCode* ec);
108
109
117 U_CAPI void U_EXPORT2
118 usnum_setToInt64(USimpleNumber* unumber, int64_t value, UErrorCode* ec);
119
120
128 U_CAPI void U_EXPORT2
129 usnum_multiplyByPowerOfTen(USimpleNumber* unumber, int32_t power, UErrorCode* ec);
130
131
139 U_CAPI void U_EXPORT2
140 usnum_roundTo(USimpleNumber* unumber, int32_t power, UNumberFormatRoundingMode roundingMode, UErrorCode* ec);
141
142
150 U_CAPI void U_EXPORT2
151 usnum_setMinimumIntegerDigits(USimpleNumber* unumber, int32_t minimumIntegerDigits, UErrorCode* ec);
152
153
161 U_CAPI void U_EXPORT2
162 usnum_setMinimumFractionDigits(USimpleNumber* unumber, int32_t minimumFractionDigits, UErrorCode* ec);
163
164
172 U_CAPI void U_EXPORT2
173 usnum_truncateStart(USimpleNumber* unumber, int32_t maximumIntegerDigits, UErrorCode* ec);
174
175
185 U_CAPI void U_EXPORT2
186 usnum_setSign(USimpleNumber* unumber, USimpleNumberSign sign, UErrorCode* ec);
187
188
194 U_CAPI USimpleNumberFormatter* U_EXPORT2
195 usnumf_openForLocale(const char* locale, UErrorCode* ec);
196
197
203 U_CAPI USimpleNumberFormatter* U_EXPORT2
204 usnumf_openForLocaleAndGroupingStrategy(
205 const char* locale, UNumberGroupingStrategy groupingStrategy, UErrorCode* ec);
206
207
216 U_CAPI void U_EXPORT2
217 usnumf_format(
218 const USimpleNumberFormatter* uformatter,
219 USimpleNumber* unumber,
220 UFormattedNumber* uresult,
221 UErrorCode* ec);
222
223
231 U_CAPI void U_EXPORT2
232 usnumf_formatInt64(
233 const USimpleNumberFormatter* uformatter,
234 int64_t value,
235 UFormattedNumber* uresult,
236 UErrorCode* ec);
237
238
246 U_CAPI void U_EXPORT2
247 usnum_close(USimpleNumber* unumber);
248
249
255 U_CAPI void U_EXPORT2
256 usnumf_close(USimpleNumberFormatter* uformatter);
257
258
259 #if U_SHOW_CPLUSPLUS_API
260 U_NAMESPACE_BEGIN
261
280 U_DEFINE_LOCAL_OPEN_POINTER(LocalUSimpleNumberPointer, USimpleNumber, usnum_close);
281
297 U_DEFINE_LOCAL_OPEN_POINTER(LocalUSimpleNumberFormatterPointer, USimpleNumberFormatter, usnumf_close);
298
299 U_NAMESPACE_END
300 #endif // U_SHOW_CPLUSPLUS_API
301
302 #endif // U_HIDE_DRAFT_API
303
304 #endif /* #if !UCONFIG_NO_FORMATTING */
305 #endif //__USIMPLENUMBERFORMATTER_H__
LocalUSimpleNumberFormatterPointer
"Smart pointer" class; closes a USimpleNumberFormatter via usnumf_close().
Definition: usimplenumberformatter.h:280
LocalUSimpleNumberPointer
"Smart pointer" class; closes a USimpleNumber via usnum_close().
U_DEFINE_LOCAL_OPEN_POINTER
#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction)
"Smart pointer" definition macro, deletes objects via the closeFunction.
Definition: localpointer.h:550
uformattednumber.h
C API: Formatted number result from various number formatting functions.
UFormattedNumber
struct UFormattedNumber UFormattedNumber
C-compatible version of icu::number::FormattedNumber.
Definition: uformattednumber.h:43
U_CAPI
#define U_CAPI
This is used to declare a function as a public ICU C API.
Definition: umachine.h:110
unumberoptions.h
C API: Header-only input options for various number formatting APIs.
UNumberFormatRoundingMode
UNumberFormatRoundingMode
The possible number format rounding modes.
Definition: unumberoptions.h:28
UNumberGroupingStrategy
UNumberGroupingStrategy
An enum declaring the strategy for when and how to display grouping separators (i....
Definition: unumberoptions.h:96
usnum_openForInt64
U_CAPI USimpleNumber * usnum_openForInt64(int64_t value, UErrorCode *ec)
Creates a new USimpleNumber to be formatted with a USimpleNumberFormatter.
USimpleNumberSign
USimpleNumberSign
An explicit sign option for a SimpleNumber.
Definition: usimplenumberformatter.h:61
UNUM_SIMPLE_NUMBER_MINUS_SIGN
@ UNUM_SIMPLE_NUMBER_MINUS_SIGN
Render a minus sign.
Definition: usimplenumberformatter.h:79
UNUM_SIMPLE_NUMBER_NO_SIGN
@ UNUM_SIMPLE_NUMBER_NO_SIGN
Render no sign.
Definition: usimplenumberformatter.h:73
UNUM_SIMPLE_NUMBER_PLUS_SIGN
@ UNUM_SIMPLE_NUMBER_PLUS_SIGN
Render a plus sign.
Definition: usimplenumberformatter.h:67
usnum_setSign
U_CAPI void usnum_setSign(USimpleNumber *unumber, USimpleNumberSign sign, UErrorCode *ec)
Sets the sign of the number: an explicit plus sign, explicit minus sign, or no sign.
usnum_roundTo
U_CAPI void usnum_roundTo(USimpleNumber *unumber, int32_t power, UNumberFormatRoundingMode roundingMode, UErrorCode *ec)
Rounds the value currently stored in the USimpleNumber to the given power of 10.
usnum_truncateStart
U_CAPI void usnum_truncateStart(USimpleNumber *unumber, int32_t maximumIntegerDigits, UErrorCode *ec)
Truncates digits from the beginning of the number to the given maximum number of integer digits.
usnumf_openForLocale
U_CAPI USimpleNumberFormatter * usnumf_openForLocale(const char *locale, UErrorCode *ec)
Creates a new USimpleNumberFormatter with all locale defaults.
usnum_close
U_CAPI void usnum_close(USimpleNumber *unumber)
Frees the memory held by a USimpleNumber.
usnum_setToInt64
U_CAPI void usnum_setToInt64(USimpleNumber *unumber, int64_t value, UErrorCode *ec)
Overwrites the value in a USimpleNumber to an int64_t.
usnumf_formatInt64
U_CAPI void usnumf_formatInt64(const USimpleNumberFormatter *uformatter, int64_t value, UFormattedNumber *uresult, UErrorCode *ec)
Formats an integer using this SimpleNumberFormatter.
usnum_setMinimumIntegerDigits
U_CAPI void usnum_setMinimumIntegerDigits(USimpleNumber *unumber, int32_t minimumIntegerDigits, UErrorCode *ec)
Pads the beginning of the number with zeros up to the given minimum number of integer digits.
USimpleNumberFormatter
struct USimpleNumberFormatter USimpleNumberFormatter
C-compatible version of icu::number::SimpleNumberFormatter.
Definition: usimplenumberformatter.h:98
usnumf_close
U_CAPI void usnumf_close(USimpleNumberFormatter *uformatter)
Frees the memory held by a USimpleNumberFormatter.
usnumf_format
U_CAPI void usnumf_format(const USimpleNumberFormatter *uformatter, USimpleNumber *unumber, UFormattedNumber *uresult, UErrorCode *ec)
Formats a number using this SimpleNumberFormatter.
usnumf_openForLocaleAndGroupingStrategy
U_CAPI USimpleNumberFormatter * usnumf_openForLocaleAndGroupingStrategy(const char *locale, UNumberGroupingStrategy groupingStrategy, UErrorCode *ec)
Creates a new USimpleNumberFormatter, overriding the grouping strategy.
USimpleNumber
struct USimpleNumber USimpleNumber
C-compatible version of icu::number::SimpleNumber.
Definition: usimplenumberformatter.h:89
usnum_setMinimumFractionDigits
U_CAPI void usnum_setMinimumFractionDigits(USimpleNumber *unumber, int32_t minimumFractionDigits, UErrorCode *ec)
Pads the end of the number with zeros up to the given minimum number of fraction digits.
usnum_multiplyByPowerOfTen
U_CAPI void usnum_multiplyByPowerOfTen(USimpleNumber *unumber, int32_t power, UErrorCode *ec)
Changes the value of the USimpleNumber by a power of 10.
utypes.h
Basic definitions for ICU, for both C and C++ APIs.
UErrorCode
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
Definition: utypes.h:415