32 #if U_SHOW_CPLUSPLUS_API
39 #if !UCONFIG_NO_FORMATTING
51 class CurrencyPluralInfo;
52 class CompactDecimalFormat;
55 class LocalizedNumberFormatter;
57 class DecimalQuantity;
58 struct DecimalFormatFields;
59 class UFormattedNumberData;
65 class NumberParserImpl;
675 kPadBeforePrefix, kPadAfterPrefix, kPadBeforeSuffix, kPadAfterSuffix
738 #ifndef U_HIDE_INTERNAL_API
755 #if UCONFIG_HAVE_PARSEALLINPUT
760 void setParseAllInput(UNumberFormatAttributeValue value);
912 UBool operator==(const
Format& other) const U_OVERRIDE;
930 #ifndef U_HIDE_INTERNAL_API
976 #ifndef U_HIDE_INTERNAL_API
1022 #ifndef U_HIDE_INTERNAL_API
1074 #ifndef U_HIDE_INTERNAL_API
1112 #endif // U_HIDE_INTERNAL_API
1227 virtual void setPositivePrefix(
const UnicodeString& newValue);
1246 virtual void setNegativePrefix(
const UnicodeString& newValue);
1265 virtual void setPositiveSuffix(
const UnicodeString& newValue);
1284 virtual void setNegativeSuffix(
const UnicodeString& newValue);
1294 UBool isSignAlwaysShown()
const;
1304 void setSignAlwaysShown(
UBool value);
1318 int32_t getMultiplier(
void)
const;
1333 virtual void setMultiplier(int32_t newValue);
1347 int32_t getMultiplierScale(
void)
const;
1368 void setMultiplierScale(int32_t newValue);
1379 virtual double getRoundingIncrement(
void)
const;
1392 virtual void setRoundingIncrement(
double newValue);
1412 virtual
void setRoundingMode(ERoundingMode roundingMode) U_OVERRIDE;
1425 virtual int32_t getFormatWidth(
void) const;
1441 virtual
void setFormatWidth(int32_t width);
1488 virtual EPadPosition getPadPosition(
void) const;
1506 virtual
void setPadPosition(EPadPosition padPos);
1518 virtual
UBool isScientificNotation(
void) const;
1535 virtual
void setScientificNotation(
UBool useScientific);
1547 virtual int8_t getMinimumExponentDigits(
void) const;
1561 virtual
void setMinimumExponentDigits(int8_t minExpDig);
1575 virtual
UBool isExponentSignAlwaysShown(
void) const;
1590 virtual
void setExponentSignAlwaysShown(
UBool expSignAlways);
1603 int32_t getGroupingSize(
void) const;
1616 virtual
void setGroupingSize(int32_t newValue);
1636 int32_t getSecondaryGroupingSize(
void) const;
1649 virtual
void setSecondaryGroupingSize(int32_t newValue);
1674 int32_t getMinimumGroupingDigits() const;
1693 void setMinimumGroupingDigits(int32_t newValue);
1703 UBool isDecimalSeparatorAlwaysShown(
void) const;
1713 virtual
void setDecimalSeparatorAlwaysShown(
UBool newValue);
1721 UBool isDecimalPatternMatchRequired(
void) const;
1732 virtual
void setDecimalPatternMatchRequired(
UBool newValue);
1741 UBool isParseNoExponent() const;
1751 void setParseNoExponent(
UBool value);
1760 UBool isParseCaseSensitive() const;
1773 void setParseCaseSensitive(
UBool value);
1783 UBool isFormatFailIfMoreThanMaxDigits() const;
1792 void setFormatFailIfMoreThanMaxDigits(
UBool value);
1913 void setMaximumIntegerDigits(int32_t newValue) U_OVERRIDE;
1924 void setMinimumIntegerDigits(int32_t newValue) U_OVERRIDE;
1935 void setMaximumFractionDigits(int32_t newValue) U_OVERRIDE;
1946 void setMinimumFractionDigits(int32_t newValue) U_OVERRIDE;
1955 int32_t getMinimumSignificantDigits() const;
1964 int32_t getMaximumSignificantDigits() const;
1977 void setMinimumSignificantDigits(int32_t min);
1990 void setMaximumSignificantDigits(int32_t max);
1998 UBool areSignificantDigitsUsed() const;
2007 void setSignificantDigitsUsed(
UBool useSignificantDigits);
2021 void setCurrency(const char16_t* theCurrency,
UErrorCode& ec) U_OVERRIDE;
2023 #ifndef U_FORCE_HIDE_DEPRECATED_API
2029 virtual void setCurrency(
const char16_t* theCurrency);
2030 #endif // U_FORCE_HIDE_DEPRECATED_API
2048 #ifndef U_HIDE_INTERNAL_API
2055 void formatToDecimalQuantity(
double number, number::impl::DecimalQuantity& output,
2064 void formatToDecimalQuantity(
const Formattable& number, number::impl::DecimalQuantity& output,
2148 void touchNoError();
2161 void setPropertiesFromPattern(const
UnicodeString& pattern, int32_t ignoreRounding,
2164 const numparse::impl::NumberParserImpl* getParser(
UErrorCode& status) const;
2166 const numparse::impl::NumberParserImpl* getCurrencyParser(
UErrorCode& status) const;
2168 static
void fieldPositionHelper(
2169 const number::impl::UFormattedNumberData& formatted,
2174 static
void fieldPositionIteratorHelper(
2175 const number::impl::UFormattedNumberData& formatted,
2180 void setupFastFormat();
2182 bool fastFormatDouble(
double input,
UnicodeString& output) const;
2184 bool fastFormatInt64(int64_t input,
UnicodeString& output) const;
2186 void doFastFormatInt32(int32_t input,
bool isNegative,
UnicodeString& output) const;
2195 number::impl::DecimalFormatFields* fields =
nullptr;
#define U_OVERRIDE
Defined to the C++11 "override" keyword if available.
C++ API: FieldPosition Iterator.
void * UClassID
UClassID is used to identify classes without using the compiler's RTTI.
#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.
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.
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
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: Compatibility APIs for number formatting.
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, a signed-byte integer.