Go to the documentation of this file.
34 #if !UCONFIG_NO_FORMATTING
48 #if UCONFIG_FORMAT_FASTPATHS_49
49 #define UNUM_DECIMALFORMAT_INTERNAL_SIZE 16
56 class CurrencyPluralInfo;
59 class FieldPositionHandler;
60 class DecimalFormatStaticSets;
64 #if defined (_MSC_VER)
752 #ifndef U_HIDE_INTERNAL_API
770 #if UCONFIG_HAVE_PARSEALLINPUT
774 void setParseAllInput(UNumberFormatAttributeValue value);
1633 #ifndef U_HIDE_DRAFT_API
1896 #ifndef U_HIDE_DRAFT_API
1914 #ifndef U_HIDE_DEPRECATED_API
1920 static const char fgNumberPatterns[];
1923 #ifndef U_HIDE_INTERNAL_API
1981 int32_t precision()
const;
2026 void applyPatternInternally(
const UnicodeString& pluralCount,
2035 void applyPatternWithoutExpandAffix(
const UnicodeString& pattern,
2044 void expandAffixAdjustWidth(
const UnicodeString* pluralCount);
2058 FieldPositionHandler& handler,
2067 UChar* currency)
const;
2079 UBool complexCurrencyParsing,
2082 DigitList& digits,
UBool* status,
2083 UChar* currency)
const;
2094 UChar* currency)
const;
2096 int32_t skipPadding(
const UnicodeString& text, int32_t position)
const;
2103 UBool complexCurrencyParsing,
2105 UChar* currency)
const;
2114 UBool lenient)
const;
2116 static int32_t skipPatternWhiteSpace(
const UnicodeString& text, int32_t pos);
2118 static int32_t skipUWhiteSpace(
const UnicodeString& text, int32_t pos);
2120 static int32_t skipUWhiteSpaceAndMarks(
const UnicodeString& text, int32_t pos);
2122 static int32_t skipBidiMarks(
const UnicodeString& text, int32_t pos);
2128 UChar* currency)
const;
2156 FieldPositionHandler& handler,
2158 UBool isPrefix)
const;
2166 UBool localized)
const;
2175 FieldPositionHandler& handler,
2182 FieldPositionHandler& handler,
2183 int32_t prefixLen, int32_t suffixLen)
const;
2185 UBool isGroupingPosition(int32_t pos)
const;
2187 void setCurrencyForSymbols();
2193 virtual void setCurrencyInternally(
const UChar* theCurrency,
UErrorCode& ec);
2199 void setupCurrencyAffixPatterns(
UErrorCode& status);
2206 UBool setupForCurrentPattern,
2207 UBool setupForPluralPattern,
2211 double getCurrencyRounding(
const UChar* currency,
2215 int getCurrencyFractionDigits(
const UChar* currency,
2219 Hashtable* initHashForAffixPattern(
UErrorCode& status);
2220 Hashtable* initHashForAffix(
UErrorCode& status);
2222 void deleteHashForAffixPattern();
2223 void deleteHashForAffix(Hashtable*& table);
2225 void copyHashForAffixPattern(
const Hashtable* source,
2227 void copyHashForAffix(
const Hashtable* source,
2232 FieldPositionHandler& handler,
2236 FieldPositionHandler& handler,
2240 FieldPositionHandler& handler,
2263 DigitList * fMultiplier;
2265 int32_t fGroupingSize;
2266 int32_t fGroupingSize2;
2267 UBool fDecimalSeparatorAlwaysShown;
2270 UBool fUseSignificantDigits;
2271 int32_t fMinSignificantDigits;
2272 int32_t fMaxSignificantDigits;
2274 UBool fUseExponentialNotation;
2275 int8_t fMinExponentDigits;
2276 UBool fExponentSignAlwaysShown;
2283 DigitList* fRoundingIncrement;
2284 ERoundingMode fRoundingMode;
2287 int32_t fFormatWidth;
2288 EPadPosition fPadPosition;
2308 int fCurrencySignCount;
2386 Hashtable* fAffixPatternsForCurrency;
2395 Hashtable* fAffixesForCurrency;
2396 Hashtable* fPluralAffixesForCurrency;
2401 #if UCONFIG_HAVE_PARSEALLINPUT
2402 UNumberFormatAttributeValue fParseAllInput;
2406 const DecimalFormatStaticSets *fStaticSets;
2413 #ifndef U_HIDE_INTERNAL_API
2452 #if UCONFIG_FORMAT_FASTPATHS_49
2458 uint8_t fReserved[UNUM_DECIMALFORMAT_INTERNAL_SIZE];
2464 void handleChanged();
2470 return fSymbols->getConstSymbol(symbol);
FieldPosition is a simple class used by Format and its subclasses to identify fields in formatted out...
C++ API: FieldPosition Iterator.
Basic definitions for ICU, for both C and C++ APIs.
A mutable set of Unicode characters and multicharacter strings.
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside.
@ UNUM_LIMIT_BOOLEAN_ATTRIBUTE
Limit of boolean attributes.
int8_t UBool
The ICU boolean type.
FieldPositionIterator returns the field ids and their start/limit positions generated by a call to Fo...
UCurrencyUsage
Currency Usage used for Decimal Format.
A UParseError struct is used to returned detailed information about parsing errors.
UNumberFormatAttribute
The possible UNumberFormat numeric attributes.
C++ API: StringPiece: Read-only byte string wrapper class.
@ UNUM_MAX_NONBOOLEAN_ATTRIBUTE
One below the first bitfield-boolean item.
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
int32_t UChar32
Define UChar32 as a type for single Unicode code points.
C++: internal template EnumSet<>
void * UClassID
UClassID is used to identify classes without using the compiler's RTTI.
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers,...
C++ API: Symbols for formatting numbers.
UNumberFormatStyle
The possible number format styles.
enum bitset for boolean fields.
C++ API: Currency Amount Object.
UDisplayContext
Display context settings.
C++ API: Abstract base class for all number formats.
uint16_t UChar
Define UChar to be UCHAR_TYPE, if that is #defined (for example, to char16_t), or wchar_t if that is ...
C++ API: Locale ID object.
A currency together with a numeric amount, such as 200 USD.
This class represents the information needed by DecimalFormat to format currency plural,...
#define U_NAMESPACE_END
This is used to end 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...
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
A string-like object that points to a sized piece of memory.