00001
00002
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
00305 #endif //__USIMPLENUMBERFORMATTER_H__