ICU 76.1 76.1
Loading...
Searching...
No Matches
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
13
78
79
80struct USimpleNumber;
87
88
96
97
103U_CAPI USimpleNumber* U_EXPORT2
104usnum_openForInt64(int64_t value, UErrorCode* ec);
105
106
114U_CAPI void U_EXPORT2
115usnum_setToInt64(USimpleNumber* unumber, int64_t value, UErrorCode* ec);
116
117
125U_CAPI void U_EXPORT2
127
128
137U_CAPI void U_EXPORT2
138usnum_roundTo(USimpleNumber* unumber, int32_t power, UNumberFormatRoundingMode roundingMode, UErrorCode* ec);
139
140
146U_CAPI void U_EXPORT2
147usnum_setMinimumIntegerDigits(USimpleNumber* unumber, int32_t minimumIntegerDigits, UErrorCode* ec);
148
149
155U_CAPI void U_EXPORT2
156usnum_setMinimumFractionDigits(USimpleNumber* unumber, int32_t minimumFractionDigits, UErrorCode* ec);
157
158
159#ifndef U_HIDE_DRAFT_API
165U_CAPI void U_EXPORT2
166usnum_setMaximumIntegerDigits(USimpleNumber* unumber, int32_t maximumIntegerDigits, UErrorCode* ec);
167#endif // U_HIDE_DRAFT_API
168
169
179U_CAPI void U_EXPORT2
181
182
189usnumf_openForLocale(const char* locale, UErrorCode* ec);
190
191
199 const char* locale, UNumberGroupingStrategy groupingStrategy, UErrorCode* ec);
200
201
210U_CAPI void U_EXPORT2
212 const USimpleNumberFormatter* uformatter,
213 USimpleNumber* unumber,
214 UFormattedNumber* uresult,
215 UErrorCode* ec);
216
217
225U_CAPI void U_EXPORT2
227 const USimpleNumberFormatter* uformatter,
228 int64_t value,
229 UFormattedNumber* uresult,
230 UErrorCode* ec);
231
232
240U_CAPI void U_EXPORT2
242
243
249U_CAPI void U_EXPORT2
251
252
253#if U_SHOW_CPLUSPLUS_API
254U_NAMESPACE_BEGIN
255
275
292
293U_NAMESPACE_END
294#endif // U_SHOW_CPLUSPLUS_API
295
296#endif /* #if !UCONFIG_NO_FORMATTING */
297#endif //__USIMPLENUMBERFORMATTER_H__
"Smart pointer" class; closes a USimpleNumberFormatter via usnumf_close().
"Smart pointer" class; closes a USimpleNumber via usnum_close().
#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction)
"Smart pointer" definition macro, deletes objects via the closeFunction.
C API: Formatted number result from various number formatting functions.
struct UFormattedNumber UFormattedNumber
C-compatible version of icu::number::FormattedNumber.
#define U_CAPI
This is used to declare a function as a public ICU C API.
Definition umachine.h:110
C API: Header-only input options for various number formatting APIs.
UNumberFormatRoundingMode
The possible number format rounding modes.
UNumberGroupingStrategy
An enum declaring the strategy for when and how to display grouping separators (i....
USimpleNumberSign
An explicit sign option for a SimpleNumber.
@ UNUM_SIMPLE_NUMBER_MINUS_SIGN
Render a minus sign.
@ UNUM_SIMPLE_NUMBER_NO_SIGN
Render no sign.
@ UNUM_SIMPLE_NUMBER_PLUS_SIGN
Render a plus sign.
U_CAPI USimpleNumberFormatter * usnumf_openForLocale(const char *locale, UErrorCode *ec)
Creates a new USimpleNumberFormatter with all locale defaults.
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.
U_CAPI USimpleNumberFormatter * usnumf_openForLocaleAndGroupingStrategy(const char *locale, UNumberGroupingStrategy groupingStrategy, UErrorCode *ec)
Creates a new USimpleNumberFormatter, overriding the grouping strategy.
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, which can be before ...
U_CAPI void usnum_close(USimpleNumber *unumber)
Frees the memory held by a USimpleNumber.
U_CAPI void usnum_setToInt64(USimpleNumber *unumber, int64_t value, UErrorCode *ec)
Overwrites the value in a USimpleNumber to an int64_t.
U_CAPI void usnumf_formatInt64(const USimpleNumberFormatter *uformatter, int64_t value, UFormattedNumber *uresult, UErrorCode *ec)
Formats an integer using this SimpleNumberFormatter.
U_CAPI void usnum_setMaximumIntegerDigits(USimpleNumber *unumber, int32_t maximumIntegerDigits, UErrorCode *ec)
Sets the number of integer digits to the given amount, truncating if necessary.
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.
struct USimpleNumberFormatter USimpleNumberFormatter
C-compatible version of icu::number::SimpleNumberFormatter.
U_CAPI USimpleNumber * usnum_openForInt64(int64_t value, UErrorCode *ec)
Creates a new USimpleNumber to be formatted with a USimpleNumberFormatter.
U_CAPI void usnumf_close(USimpleNumberFormatter *uformatter)
Frees the memory held by a USimpleNumberFormatter.
U_CAPI void usnumf_format(const USimpleNumberFormatter *uformatter, USimpleNumber *unumber, UFormattedNumber *uresult, UErrorCode *ec)
Formats a number using this SimpleNumberFormatter.
struct USimpleNumber USimpleNumber
C-compatible version of icu::number::SimpleNumber.
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.
U_CAPI void usnum_multiplyByPowerOfTen(USimpleNumber *unumber, int32_t power, UErrorCode *ec)
Changes the value of the USimpleNumber by a power of 10.
Basic definitions for ICU, for both C and C++ APIs.
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
Definition utypes.h:430