ICU 73.2  73.2
usimplenumberformatter.h
Go to the documentation of this file.
00001 // © 2022 and later: Unicode, Inc. and others.
00002 // License & terms of use: http://www.unicode.org/copyright.html
00003 
00004 #ifndef __USIMPLENUMBERFORMATTER_H__
00005 #define __USIMPLENUMBERFORMATTER_H__
00006 
00007 #include "unicode/utypes.h"
00008 
00009 #if !UCONFIG_NO_FORMATTING
00010 
00011 #include "unicode/uformattednumber.h"
00012 #include "unicode/unumberoptions.h"
00013 
00053 #ifndef U_HIDE_DRAFT_API
00054 
00055 
00061 typedef enum USimpleNumberSign {
00067     UNUM_SIMPLE_NUMBER_PLUS_SIGN,
00073     UNUM_SIMPLE_NUMBER_NO_SIGN,
00079     UNUM_SIMPLE_NUMBER_MINUS_SIGN,
00080 } USimpleNumberSign;
00081 
00082 
00083 struct USimpleNumber;
00089 typedef struct USimpleNumber USimpleNumber;
00090 
00091 
00092 struct USimpleNumberFormatter;
00098 typedef struct USimpleNumberFormatter USimpleNumberFormatter;
00099 
00100 
00106 U_CAPI USimpleNumber* U_EXPORT2
00107 usnum_openForInt64(int64_t value, UErrorCode* ec);
00108 
00109 
00117 U_CAPI void U_EXPORT2
00118 usnum_setToInt64(USimpleNumber* unumber, int64_t value, UErrorCode* ec);
00119 
00120 
00128 U_CAPI void U_EXPORT2
00129 usnum_multiplyByPowerOfTen(USimpleNumber* unumber, int32_t power, UErrorCode* ec);
00130 
00131 
00139 U_CAPI void U_EXPORT2
00140 usnum_roundTo(USimpleNumber* unumber, int32_t power, UNumberFormatRoundingMode roundingMode, UErrorCode* ec);
00141 
00142 
00150 U_CAPI void U_EXPORT2
00151 usnum_setMinimumIntegerDigits(USimpleNumber* unumber, int32_t minimumIntegerDigits, UErrorCode* ec);
00152 
00153 
00161 U_CAPI void U_EXPORT2
00162 usnum_setMinimumFractionDigits(USimpleNumber* unumber, int32_t minimumFractionDigits, UErrorCode* ec);
00163 
00164 
00172 U_CAPI void U_EXPORT2
00173 usnum_truncateStart(USimpleNumber* unumber, int32_t maximumIntegerDigits, UErrorCode* ec);
00174 
00175 
00185 U_CAPI void U_EXPORT2
00186 usnum_setSign(USimpleNumber* unumber, USimpleNumberSign sign, UErrorCode* ec);
00187 
00188 
00194 U_CAPI USimpleNumberFormatter* U_EXPORT2
00195 usnumf_openForLocale(const char* locale, UErrorCode* ec);
00196 
00197 
00203 U_CAPI USimpleNumberFormatter* U_EXPORT2
00204 usnumf_openForLocaleAndGroupingStrategy(
00205        const char* locale, UNumberGroupingStrategy groupingStrategy, UErrorCode* ec);
00206 
00207 
00216 U_CAPI void U_EXPORT2
00217 usnumf_format(
00218     const USimpleNumberFormatter* uformatter,
00219     USimpleNumber* unumber,
00220     UFormattedNumber* uresult,
00221     UErrorCode* ec);
00222 
00223 
00231 U_CAPI void U_EXPORT2
00232 usnumf_formatInt64(
00233     const USimpleNumberFormatter* uformatter,
00234     int64_t value,
00235     UFormattedNumber* uresult,
00236     UErrorCode* ec);
00237 
00238 
00246 U_CAPI void U_EXPORT2
00247 usnum_close(USimpleNumber* unumber);
00248 
00249 
00255 U_CAPI void U_EXPORT2
00256 usnumf_close(USimpleNumberFormatter* uformatter);
00257 
00258 
00259 #if U_SHOW_CPLUSPLUS_API
00260 U_NAMESPACE_BEGIN
00261 
00280 U_DEFINE_LOCAL_OPEN_POINTER(LocalUSimpleNumberPointer, USimpleNumber, usnum_close);
00281 
00297 U_DEFINE_LOCAL_OPEN_POINTER(LocalUSimpleNumberFormatterPointer, USimpleNumberFormatter, usnumf_close);
00298 
00299 U_NAMESPACE_END
00300 #endif // U_SHOW_CPLUSPLUS_API
00301 
00302 #endif // U_HIDE_DRAFT_API
00303 
00304 #endif /* #if !UCONFIG_NO_FORMATTING */
00305 #endif //__USIMPLENUMBERFORMATTER_H__