33 #if !UCONFIG_NO_FORMATTING
49 class FieldPositionHandler;
733 #ifndef U_HIDE_INTERNAL_API
1201 virtual void setPositivePrefix(
const UnicodeString& newValue);
1220 virtual void setNegativePrefix(
const UnicodeString& newValue);
1239 virtual void setPositiveSuffix(
const UnicodeString& newValue);
1258 virtual void setNegativeSuffix(
const UnicodeString& newValue);
1270 int32_t getMultiplier(
void)
const;
1282 virtual void setMultiplier(int32_t newValue);
1293 virtual double getRoundingIncrement(
void)
const;
1305 virtual void setRoundingIncrement(
double newValue);
1315 virtual ERoundingMode getRoundingMode(
void)
const;
1325 virtual void setRoundingMode(ERoundingMode roundingMode);
1338 virtual int32_t getFormatWidth(
void)
const;
1354 virtual void setFormatWidth(int32_t width);
1401 virtual EPadPosition getPadPosition(
void)
const;
1419 virtual void setPadPosition(EPadPosition padPos);
1431 virtual UBool isScientificNotation(
void);
1448 virtual void setScientificNotation(
UBool useScientific);
1460 virtual int8_t getMinimumExponentDigits(
void)
const;
1474 virtual void setMinimumExponentDigits(int8_t minExpDig);
1488 virtual UBool isExponentSignAlwaysShown(
void);
1503 virtual void setExponentSignAlwaysShown(
UBool expSignAlways);
1516 int32_t getGroupingSize(
void)
const;
1529 virtual void setGroupingSize(int32_t newValue);
1549 int32_t getSecondaryGroupingSize(
void)
const;
1562 virtual void setSecondaryGroupingSize(int32_t newValue);
1572 UBool isDecimalSeparatorAlwaysShown(
void)
const;
1582 virtual void setDecimalSeparatorAlwaysShown(
UBool newValue);
1681 virtual void applyLocalizedPattern(
const UnicodeString& pattern,
1694 virtual void applyLocalizedPattern(
const UnicodeString& pattern,
1749 int32_t getMinimumSignificantDigits()
const;
1758 int32_t getMaximumSignificantDigits()
const;
1769 void setMinimumSignificantDigits(int32_t min);
1781 void setMaximumSignificantDigits(int32_t max);
1789 UBool areSignificantDigitsUsed()
const;
1798 void setSignificantDigitsUsed(
UBool useSignificantDigits);
1827 static const char fgNumberPatterns[];
1861 int32_t precision()
const;
1906 void applyPatternInternally(
const UnicodeString& pluralCount,
1915 void applyPatternWithoutExpandAffix(
const UnicodeString& pattern,
1924 void expandAffixAdjustWidth(
const UnicodeString* pluralCount);
1938 FieldPositionHandler& handler,
1940 UBool isInteger)
const;
1946 UChar* currency)
const;
1958 UBool currencyParsing,
1961 DigitList& digits,
UBool* status,
1962 UChar* currency)
const;
1973 UChar* currency)
const;
1975 int32_t skipPadding(
const UnicodeString& text, int32_t position)
const;
1982 UBool currencyParsing,
1984 UChar* currency)
const;
1986 static int32_t compareSimpleAffix(
const UnicodeString& affix,
1991 static int32_t skipPatternWhiteSpace(
const UnicodeString& text, int32_t pos);
1993 static int32_t skipUWhiteSpace(
const UnicodeString& text, int32_t pos);
1999 UChar* currency)
const;
2027 FieldPositionHandler& handler,
2029 UBool isPrefix)
const;
2037 UBool localized)
const;
2046 FieldPositionHandler& handler,
2053 FieldPositionHandler& handler,
2054 int32_t prefixLen, int32_t suffixLen)
const;
2056 UBool isGroupingPosition(int32_t pos)
const;
2058 void setCurrencyForSymbols();
2064 virtual void setCurrencyInternally(
const UChar* theCurrency,
UErrorCode& ec);
2070 void setupCurrencyAffixPatterns(
UErrorCode& status);
2077 UBool setupForCurrentPattern,
2078 UBool setupForPluralPattern,
2082 Hashtable* initHashForAffixPattern(
UErrorCode& status);
2083 Hashtable* initHashForAffix(
UErrorCode& status);
2085 void deleteHashForAffixPattern();
2086 void deleteHashForAffix(Hashtable*& table);
2088 void copyHashForAffixPattern(
const Hashtable* source,
2090 void copyHashForAffix(
const Hashtable* source,
2095 FieldPositionHandler& handler)
const;
2098 FieldPositionHandler& handler)
const;
2101 FieldPositionHandler& handler,
2106 fgCurrencySignCountZero,
2107 fgCurrencySignCountInSymbolFormat,
2108 fgCurrencySignCountInISOFormat,
2109 fgCurrencySignCountInPluralFormat
2110 } CurrencySignCount;
2132 DigitList * fMultiplier;
2133 int32_t fGroupingSize;
2134 int32_t fGroupingSize2;
2135 UBool fDecimalSeparatorAlwaysShown;
2138 UBool fUseSignificantDigits;
2139 int32_t fMinSignificantDigits;
2140 int32_t fMaxSignificantDigits;
2142 UBool fUseExponentialNotation;
2143 int8_t fMinExponentDigits;
2144 UBool fExponentSignAlwaysShown;
2146 DigitList* fRoundingIncrement;
2147 ERoundingMode fRoundingMode;
2150 int32_t fFormatWidth;
2151 EPadPosition fPadPosition;
2171 int fCurrencySignCount;
2249 Hashtable* fAffixPatternsForCurrency;
2258 Hashtable* fAffixesForCurrency;
2259 Hashtable* fPluralAffixesForCurrency;
2311 return format(number, appendTo, pos);
2318 return format((int64_t)number, appendTo, pos);
2321 #ifndef U_HIDE_INTERNAL_API