34 #if !UCONFIG_NO_FORMATTING
44 #ifndef U_HIDE_INTERNAL_API
49 #if UCONFIG_FORMAT_FASTPATHS_49
50 #define UNUM_DECIMALFORMAT_INTERNAL_SIZE 16
60 class FieldPositionHandler;
61 class DecimalFormatStaticSets;
63 class DecimalFormatImpl;
65 class VisibleDigitsWithExponent;
68 #if defined (_MSC_VER)
756 #ifndef U_HIDE_INTERNAL_API
774 #if UCONFIG_HAVE_PARSEALLINPUT
778 void setParseAllInput(UNumberFormatAttributeValue value);
1130 const VisibleDigitsWithExponent &number,
1147 const VisibleDigitsWithExponent &number,
1651 #ifndef U_HIDE_INTERNAL_API
1987 #ifndef U_HIDE_DEPRECATED_API
1993 static const char fgNumberPatterns[];
1996 #ifndef U_HIDE_INTERNAL_API
2029 VisibleDigitsWithExponent &digits,
2040 VisibleDigitsWithExponent &digits,
2052 VisibleDigitsWithExponent &digits,
2107 UChar* currency)
const;
2119 UBool complexCurrencyParsing,
2122 DigitList& digits,
UBool* status,
2123 UChar* currency)
const;
2134 UChar* currency)
const;
2136 int32_t skipPadding(
const UnicodeString& text, int32_t position)
const;
2143 UBool complexCurrencyParsing,
2145 UChar* currency)
const;
2154 UBool lenient)
const;
2156 static int32_t skipPatternWhiteSpace(
const UnicodeString& text, int32_t pos);
2158 static int32_t skipUWhiteSpace(
const UnicodeString& text, int32_t pos);
2160 static int32_t skipUWhiteSpaceAndMarks(
const UnicodeString& text, int32_t pos);
2162 static int32_t skipBidiMarks(
const UnicodeString& text, int32_t pos);
2168 UChar* currency)
const;
2191 void setupCurrencyAffixPatterns(
UErrorCode& status);
2194 double getCurrencyRounding(
const UChar* currency,
2198 int getCurrencyFractionDigits(
const UChar* currency,
2202 Hashtable* initHashForAffixPattern(
UErrorCode& status);
2204 void deleteHashForAffixPattern();
2206 void copyHashForAffixPattern(
const Hashtable* source,
2209 DecimalFormatImpl *fImpl;
2240 Hashtable* fAffixPatternsForCurrency;
2245 #if UCONFIG_HAVE_PARSEALLINPUT
2246 UNumberFormatAttributeValue fParseAllInput;
2250 const DecimalFormatStaticSets *fStaticSets;
2254 #ifndef U_HIDE_INTERNAL_API
A currency together with a numeric amount, such as 200 USD.
This class represents the information needed by DecimalFormat to format currency plural,...
enum bitset for boolean fields.
FieldPositionIterator returns the field ids and their start/limit positions generated by a call to Fo...
FieldPosition is a simple class used by Format and its subclasses to identify fields in formatted out...
ParsePosition is a simple class used by Format and its subclasses to keep track of the current positi...
Defines rules for mapping non-negative numeric values onto a small set of keywords.
A string-like object that points to a sized piece of memory.
A mutable set of Unicode characters and multicharacter strings.
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
C++ API: Currency Amount Object.
C++ API: Symbols for formatting numbers.
C++: internal template EnumSet<>
C++ API: FieldPosition Iterator.
C++ API: Locale ID object.
C++ API: Abstract base class for all number formats.
C++ API: StringPiece: Read-only byte string wrapper class.
A UParseError struct is used to returned detailed information about parsing errors.
UCurrencyUsage
Currency Usage used for Decimal Format.
UDisplayContext
Display context settings.
int32_t UChar32
Define UChar32 as a type for single Unicode code points.
int8_t UBool
The ICU boolean type.
uint16_t UChar
Define UChar to be UCHAR_TYPE, if that is #defined (for example, to char16_t), or wchar_t if that is ...
UNumberFormatAttribute
The possible UNumberFormat numeric attributes.
@ UNUM_LIMIT_BOOLEAN_ATTRIBUTE
Limit of boolean attributes.
@ UNUM_MAX_NONBOOLEAN_ATTRIBUTE
One below the first bitfield-boolean item.
UNumberFormatStyle
The possible number format styles.
void * UClassID
UClassID is used to identify classes without using the compiler's RTTI.
Basic definitions for ICU, for both C and C++ APIs.
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers,...
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside.
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.