ICU 74.2 74.2
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
53#ifndef U_HIDE_DRAFT_API
54
55
81
82
83struct USimpleNumber;
90
91
99
100
106U_CAPI USimpleNumber* U_EXPORT2
107usnum_openForInt64(int64_t value, UErrorCode* ec);
108
109
117U_CAPI void U_EXPORT2
118usnum_setToInt64(USimpleNumber* unumber, int64_t value, UErrorCode* ec);
119
120
128U_CAPI void U_EXPORT2
130
131
139U_CAPI void U_EXPORT2
140usnum_roundTo(USimpleNumber* unumber, int32_t power, UNumberFormatRoundingMode roundingMode, UErrorCode* ec);
141
142
150U_CAPI void U_EXPORT2
151usnum_setMinimumIntegerDigits(USimpleNumber* unumber, int32_t minimumIntegerDigits, UErrorCode* ec);
152
153
161U_CAPI void U_EXPORT2
162usnum_setMinimumFractionDigits(USimpleNumber* unumber, int32_t minimumFractionDigits, UErrorCode* ec);
163
164
172U_CAPI void U_EXPORT2
173usnum_truncateStart(USimpleNumber* unumber, int32_t maximumIntegerDigits, UErrorCode* ec);
174
175
185U_CAPI void U_EXPORT2
187
188
195usnumf_openForLocale(const char* locale, UErrorCode* ec);
196
197
205 const char* locale, UNumberGroupingStrategy groupingStrategy, UErrorCode* ec);
206
207
216U_CAPI void U_EXPORT2
218 const USimpleNumberFormatter* uformatter,
219 USimpleNumber* unumber,
220 UFormattedNumber* uresult,
221 UErrorCode* ec);
222
223
231U_CAPI void U_EXPORT2
233 const USimpleNumberFormatter* uformatter,
234 int64_t value,
235 UFormattedNumber* uresult,
236 UErrorCode* ec);
237
238
246U_CAPI void U_EXPORT2
248
249
255U_CAPI void U_EXPORT2
257
258
259#if U_SHOW_CPLUSPLUS_API
260U_NAMESPACE_BEGIN
261
281
298
299U_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__
"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.
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.
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_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:415