33 #if !UCONFIG_NO_FORMATTING
1079 virtual void setPositivePrefix(
const UnicodeString& newValue);
1098 virtual void setNegativePrefix(
const UnicodeString& newValue);
1117 virtual void setPositiveSuffix(
const UnicodeString& newValue);
1136 virtual void setNegativeSuffix(
const UnicodeString& newValue);
1148 int32_t getMultiplier(
void)
const;
1160 virtual void setMultiplier(
int32_t newValue);
1171 virtual double getRoundingIncrement(
void)
const;
1183 virtual void setRoundingIncrement(
double newValue);
1193 virtual ERoundingMode getRoundingMode(
void)
const;
1204 virtual void setRoundingMode(ERoundingMode roundingMode);
1217 virtual int32_t getFormatWidth(
void)
const;
1233 virtual void setFormatWidth(
int32_t width);
1280 virtual EPadPosition getPadPosition(
void)
const;
1298 virtual void setPadPosition(EPadPosition padPos);
1310 virtual UBool isScientificNotation(
void);
1327 virtual void setScientificNotation(
UBool useScientific);
1339 virtual int8_t getMinimumExponentDigits(
void)
const;
1353 virtual void setMinimumExponentDigits(
int8_t minExpDig);
1367 virtual UBool isExponentSignAlwaysShown(
void);
1382 virtual void setExponentSignAlwaysShown(
UBool expSignAlways);
1395 int32_t getGroupingSize(
void)
const;
1408 virtual void setGroupingSize(
int32_t newValue);
1428 int32_t getSecondaryGroupingSize(
void)
const;
1441 virtual void setSecondaryGroupingSize(
int32_t newValue);
1451 UBool isDecimalSeparatorAlwaysShown(
void)
const;
1461 virtual void setDecimalSeparatorAlwaysShown(
UBool newValue);
1560 virtual void applyLocalizedPattern(
const UnicodeString& pattern,
1573 virtual void applyLocalizedPattern(
const UnicodeString& pattern,
1628 int32_t getMinimumSignificantDigits()
const;
1637 int32_t getMaximumSignificantDigits()
const;
1648 void setMinimumSignificantDigits(
int32_t min);
1660 void setMaximumSignificantDigits(
int32_t max);
1668 UBool areSignificantDigitsUsed()
const;
1677 void setSignificantDigitsUsed(
UBool useSignificantDigits);
1706 static const char fgNumberPatterns[];
1781 void applyPatternInternally(
const UnicodeString& pluralCount,
1790 void applyPatternWithoutExpandAffix(
const UnicodeString& pattern,
1799 void expandAffixAdjustWidth(
const UnicodeString* pluralCount);
1816 UBool isInteger)
const;
1822 UBool parseCurrency)
const;
1834 UBool currencyParsing,
1837 DigitList& digits,
UBool* status,
1838 UChar* currency)
const;
1849 UChar* currency)
const;
1858 UBool currencyParsing,
1860 UChar* currency)
const;
1874 UChar* currency)
const;
1896 UBool localized)
const;
1910 static double round(
double a, ERoundingMode mode,
UBool isNegative);
1918 void setCurrencyForSymbols();
1924 virtual void setCurrencyInternally(
const UChar* theCurrency,
UErrorCode& ec);
1930 void setupCurrencyAffixPatterns(
UErrorCode& status);
1937 UBool setupForCurrentPattern,
1938 UBool setupForPluralPattern,
1942 Hashtable* initHashForAffixPattern(
UErrorCode& status);
1943 Hashtable* initHashForAffix(
UErrorCode& status);
1945 void deleteHashForAffixPattern();
1946 void deleteHashForAffix(Hashtable*& table);
1948 void copyHashForAffixPattern(
const Hashtable* source,
1950 void copyHashForAffix(
const Hashtable* source,
1955 fgCurrencySignCountZero,
1956 fgCurrencySignCountInSymbolFormat,
1957 fgCurrencySignCountInISOFormat,
1958 fgCurrencySignCountInPluralFormat
1959 } CurrencySignCount;
1987 UBool fDecimalSeparatorAlwaysShown;
1990 UBool fUseSignificantDigits;
1991 int32_t fMinSignificantDigits;
1992 int32_t fMaxSignificantDigits;
1994 UBool fUseExponentialNotation;
1995 int8_t fMinExponentDigits;
1996 UBool fExponentSignAlwaysShown;
2002 DigitList* fRoundingIncrement;
2003 double fRoundingDouble;
2004 ERoundingMode fRoundingMode;
2008 EPadPosition fPadPosition;
2028 int fCurrencySignCount;
2038 struct AffixPatternsForCurrency :
public UMemory {
2054 negPrefixPatternForCurrency = negPrefix;
2055 negSuffixPatternForCurrency = negSuffix;
2056 posPrefixPatternForCurrency = posPrefix;
2057 posSuffixPatternForCurrency = posSuffix;
2066 struct AffixesForCurrency :
public UMemory {
2082 negPrefixForCurrency = negPrefix;
2083 negSuffixForCurrency = negSuffix;
2084 posPrefixForCurrency = posPrefix;
2085 posSuffixForCurrency = posSuffix;
2102 Hashtable* fAffixPatternsForCurrency;
2111 Hashtable* fAffixesForCurrency;
2112 Hashtable* fPluralAffixesForCurrency;
2164 return format(number, appendTo, pos);
UBool decimfmtAffixValueComparator(UHashTok val1, UHashTok val2)
This class represents the information needed by DecimalFormat to format currency plural, such as "3.00 US dollars" or "1.00 US dollar".
#define U_CALLCONV
Similar to U_CDECL_BEGIN/U_CDECL_END, this qualifier is necessary in callback function typedefs to ma...
UBool decimfmtAffixPatternValueComparator(UHashTok val1, UHashTok val2)
#define U_CDECL_BEGIN
This is used to begin a declaration of a library private ICU C API.
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside...
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
ParsePosition is a simple class used by Format and its subclasses to keep track of the current positi...
int32_t UChar32
Define UChar32 as a type for single Unicode code points.
UMemory is the common ICU base class.
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
FieldPosition is a simple class used by Format and its subclasses to identify fields in formatted out...
uint16_t UChar
Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned.
#define U_CDECL_END
This is used to end a declaration of a library private ICU C API.
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API If the compiler doesn't support namespaces...
signed char int8_t
Define 64 bit limits.
void * UClassID
UClassID is used to identify classes without using RTTI, since RTTI is not yet supported by all C++ c...
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers...
C++ API: Symbols for formatting numbers.
C++ API: Locale ID object.
signed long long int64_t
Define 64 bit limits.
A UParseError struct is used to returned detailed information about parsing errors.
Basic definitions for ICU, for both C and C++ APIs.
C++ API: Abstract base class for all number formats.
signed int int32_t
Define 64 bit limits.
int8_t UBool
The ICU boolean type.