36 #if !UCONFIG_NO_FORMATTING 46 #ifndef U_HIDE_INTERNAL_API 51 #if UCONFIG_FORMAT_FASTPATHS_49 52 #define UNUM_DECIMALFORMAT_INTERNAL_SIZE 16 59 class CurrencyPluralInfo;
62 class FieldPositionHandler;
63 class DecimalFormatStaticSets;
65 class DecimalFormatImpl;
67 class VisibleDigitsWithExponent;
70 #if defined (_MSC_VER) 736 #ifndef U_HIDE_INTERNAL_API 754 #if UCONFIG_HAVE_PARSEALLINPUT 758 void setParseAllInput(UNumberFormatAttributeValue value);
1110 const VisibleDigitsWithExponent &number,
1127 const VisibleDigitsWithExponent &number,
1267 virtual void setPositivePrefix(
const UnicodeString& newValue);
1286 virtual void setNegativePrefix(
const UnicodeString& newValue);
1305 virtual void setPositiveSuffix(
const UnicodeString& newValue);
1324 virtual void setNegativeSuffix(
const UnicodeString& newValue);
1336 int32_t getMultiplier(
void)
const;
1348 virtual void setMultiplier(int32_t newValue);
1359 virtual double getRoundingIncrement(
void)
const;
1372 virtual void setRoundingIncrement(
double newValue);
1405 virtual int32_t getFormatWidth(
void)
const;
1421 virtual void setFormatWidth(int32_t width);
1468 virtual EPadPosition getPadPosition(
void)
const;
1486 virtual void setPadPosition(EPadPosition padPos);
1498 virtual UBool isScientificNotation(
void)
const;
1515 virtual void setScientificNotation(
UBool useScientific);
1527 virtual int8_t getMinimumExponentDigits(
void)
const;
1541 virtual void setMinimumExponentDigits(int8_t minExpDig);
1555 virtual UBool isExponentSignAlwaysShown(
void)
const;
1570 virtual void setExponentSignAlwaysShown(
UBool expSignAlways);
1583 int32_t getGroupingSize(
void)
const;
1596 virtual void setGroupingSize(int32_t newValue);
1616 int32_t getSecondaryGroupingSize(
void)
const;
1629 virtual void setSecondaryGroupingSize(int32_t newValue);
1631 #ifndef U_HIDE_INTERNAL_API 1654 int32_t getMinimumGroupingDigits()
const;
1667 virtual void setMinimumGroupingDigits(int32_t newValue);
1678 UBool isDecimalSeparatorAlwaysShown(
void)
const;
1688 virtual void setDecimalSeparatorAlwaysShown(
UBool newValue);
1696 UBool isDecimalPatternMatchRequired(
void)
const;
1707 virtual void setDecimalPatternMatchRequired(
UBool newValue);
1807 virtual void applyLocalizedPattern(
const UnicodeString& pattern,
1820 virtual void applyLocalizedPattern(
const UnicodeString& pattern,
1875 int32_t getMinimumSignificantDigits()
const;
1884 int32_t getMaximumSignificantDigits()
const;
1897 void setMinimumSignificantDigits(int32_t min);
1910 void setMaximumSignificantDigits(int32_t max);
1918 UBool areSignificantDigitsUsed()
const;
1927 void setSignificantDigitsUsed(
UBool useSignificantDigits);
1949 virtual void setCurrency(
const char16_t* theCurrency);
1972 static const char fgNumberPatterns[];
1974 #ifndef U_HIDE_INTERNAL_API 1981 FixedDecimal getFixedDecimal(
double number,
UErrorCode &status)
const;
1997 FixedDecimal getFixedDecimal(DigitList &number,
UErrorCode &status)
const;
2005 VisibleDigitsWithExponent &initVisibleDigitsWithExponent(
2007 VisibleDigitsWithExponent &digits,
2016 VisibleDigitsWithExponent &initVisibleDigitsWithExponent(
2018 VisibleDigitsWithExponent &digits,
2028 VisibleDigitsWithExponent &initVisibleDigitsWithExponent(
2030 VisibleDigitsWithExponent &digits,
2082 void handleCurrencySignInPattern(
UErrorCode& status);
2087 char16_t* currency)
const;
2099 UBool complexCurrencyParsing,
2102 DigitList& digits,
UBool* status,
2103 char16_t* currency)
const;
2114 char16_t* currency)
const;
2116 int32_t skipPadding(
const UnicodeString& text, int32_t position)
const;
2123 UBool complexCurrencyParsing,
2125 char16_t* currency)
const;
2134 UBool lenient)
const;
2136 static int32_t skipPatternWhiteSpace(
const UnicodeString& text, int32_t pos);
2138 static int32_t skipUWhiteSpace(
const UnicodeString& text, int32_t pos);
2140 static int32_t skipUWhiteSpaceAndMarks(
const UnicodeString& text, int32_t pos);
2142 static int32_t skipBidiMarks(
const UnicodeString& text, int32_t pos);
2148 char16_t* currency)
const;
2171 void setupCurrencyAffixPatterns(
UErrorCode& status);
2174 double getCurrencyRounding(
const char16_t* currency,
2178 int getCurrencyFractionDigits(
const char16_t* currency,
2182 Hashtable* initHashForAffixPattern(
UErrorCode& status);
2184 void deleteHashForAffixPattern();
2186 void copyHashForAffixPattern(
const Hashtable* source,
2189 DecimalFormatImpl *fImpl;
2220 Hashtable* fAffixPatternsForCurrency;
2225 #if UCONFIG_HAVE_PARSEALLINPUT 2226 UNumberFormatAttributeValue fParseAllInput;
2230 const DecimalFormatStaticSets *fStaticSets;
2234 #ifndef U_HIDE_INTERNAL_API 2239 DigitList& _round(
const DigitList& number, DigitList& adjustedNum,
UBool& isNegative,
UErrorCode& status)
const;
enum bitset for boolean fields.
C++ API: FieldPosition Iterator.
UDisplayContext
Display context settings.
void * UClassID
UClassID is used to identify classes without using the compiler's RTTI.
Limit of boolean attributes.
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside...
C++ API: StringPiece: Read-only byte string wrapper class.
C++ API: Currency Amount Object.
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
UNumberFormatStyle
The possible number format styles.
FieldPositionIterator returns the field ids and their start/limit positions generated by a call to Fo...
UCurrencyUsage
Currency Usage used for Decimal Format.
int32_t UChar32
Define UChar32 as a type for single Unicode code points.
A mutable set of Unicode characters and multicharacter strings.
One below the first bitfield-boolean item.
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers...
FieldPosition is a simple class used by Format and its subclasses to identify fields in formatted out...
C++ API: Symbols for formatting numbers.
ParsePosition is a simple class used by Format and its subclasses to keep track of the current positi...
C++ API: Locale ID object.
This class represents the information needed by DecimalFormat to format currency plural, such as "3.00 US dollars" or "1.00 US dollar".
A UParseError struct is used to returned detailed information about parsing errors.
Basic definitions for ICU, for both C and C++ APIs.
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
C++: internal template EnumSet<>
C++ API: Abstract base class for all number formats.
UNumberFormatAttribute
The possible UNumberFormat numeric attributes.
A string-like object that points to a sized piece of memory.
A currency together with a numeric amount, such as 200 USD.
int8_t UBool
The ICU boolean type.