36 #if !UCONFIG_NO_FORMATTING 48 class CurrencyPluralInfo;
49 class CompactDecimalFormat;
52 class LocalizedNumberFormatter;
53 class FormattedNumber;
55 class DecimalQuantity;
56 struct DecimalFormatFields;
62 class NumberParserImpl;
68 #if U_PF_WINDOWS <= U_PLATFORM && U_PLATFORM <= U_PF_CYGWIN 679 kPadBeforePrefix, kPadAfterPrefix, kPadBeforeSuffix, kPadAfterSuffix
742 #ifndef U_HIDE_INTERNAL_API 759 #if UCONFIG_HAVE_PARSEALLINPUT 764 void setParseAllInput(UNumberFormatAttributeValue value);
906 Format* clone(
void) const U_OVERRIDE;
916 UBool operator==(const
Format& other) const U_OVERRIDE;
934 #ifndef U_HIDE_INTERNAL_API 980 #ifndef U_HIDE_INTERNAL_API 1025 #ifndef U_HIDE_INTERNAL_API 1076 #ifndef U_HIDE_INTERNAL_API 1114 #endif // U_HIDE_INTERNAL_API 1229 virtual void setPositivePrefix(
const UnicodeString& newValue);
1248 virtual void setNegativePrefix(
const UnicodeString& newValue);
1267 virtual void setPositiveSuffix(
const UnicodeString& newValue);
1286 virtual void setNegativeSuffix(
const UnicodeString& newValue);
1288 #ifndef U_HIDE_INTERNAL_API 1293 UBool isSignAlwaysShown()
const;
1301 virtual void setSignAlwaysShown(
UBool value);
1315 int32_t getMultiplier(
void)
const;
1330 virtual void setMultiplier(int32_t newValue);
1332 #ifndef U_HIDE_DRAFT_API 1345 int32_t getMultiplierScale(
void)
const;
1367 virtual void setMultiplierScale(int32_t newValue);
1378 virtual double getRoundingIncrement(
void)
const;
1391 virtual void setRoundingIncrement(
double newValue);
1424 virtual int32_t getFormatWidth(
void)
const;
1440 virtual void setFormatWidth(int32_t width);
1487 virtual EPadPosition getPadPosition(
void)
const;
1505 virtual void setPadPosition(EPadPosition padPos);
1517 virtual UBool isScientificNotation(
void)
const;
1534 virtual void setScientificNotation(
UBool useScientific);
1546 virtual int8_t getMinimumExponentDigits(
void)
const;
1560 virtual void setMinimumExponentDigits(int8_t minExpDig);
1574 virtual UBool isExponentSignAlwaysShown(
void)
const;
1589 virtual void setExponentSignAlwaysShown(
UBool expSignAlways);
1602 int32_t getGroupingSize(
void)
const;
1615 virtual void setGroupingSize(int32_t newValue);
1635 int32_t getSecondaryGroupingSize(
void)
const;
1648 virtual void setSecondaryGroupingSize(int32_t newValue);
1650 #ifndef U_HIDE_INTERNAL_API 1673 int32_t getMinimumGroupingDigits()
const;
1686 virtual void setMinimumGroupingDigits(int32_t newValue);
1697 UBool isDecimalSeparatorAlwaysShown(
void)
const;
1707 virtual void setDecimalSeparatorAlwaysShown(
UBool newValue);
1715 UBool isDecimalPatternMatchRequired(
void)
const;
1726 virtual void setDecimalPatternMatchRequired(
UBool newValue);
1734 virtual UBool isParseNoExponent()
const;
1744 virtual void setParseNoExponent(
UBool value);
1752 virtual UBool isParseCaseSensitive()
const;
1763 virtual void setParseCaseSensitive(
UBool value);
1772 virtual UBool isFormatFailIfMoreThanMaxDigits()
const;
1780 virtual void setFormatFailIfMoreThanMaxDigits(
UBool value);
1944 int32_t getMinimumSignificantDigits()
const;
1953 int32_t getMaximumSignificantDigits()
const;
1966 void setMinimumSignificantDigits(int32_t min);
1979 void setMaximumSignificantDigits(int32_t max);
1987 UBool areSignificantDigitsUsed()
const;
1996 void setSignificantDigitsUsed(
UBool useSignificantDigits);
2017 virtual void setCurrency(
const char16_t* theCurrency);
2034 #ifndef U_HIDE_INTERNAL_API 2041 void formatToDecimalQuantity(
double number, number::impl::DecimalQuantity& output,
2050 void formatToDecimalQuantity(
const Formattable& number, number::impl::DecimalQuantity& output,
2055 #ifndef U_HIDE_DRAFT_API 2114 void touchNoError();
2127 void setPropertiesFromPattern(
const UnicodeString& pattern, int32_t ignoreRounding,
2130 const numparse::impl::NumberParserImpl* getParser(
UErrorCode& status)
const;
2132 const numparse::impl::NumberParserImpl* getCurrencyParser(
UErrorCode& status)
const;
2140 void setupFastFormat();
2142 bool fastFormatDouble(
double input,
UnicodeString& output)
const;
2144 bool fastFormatInt64(int64_t input,
UnicodeString& output)
const;
2146 void doFastFormatInt32(int32_t input,
bool isNegative,
UnicodeString& output)
const;
2153 number::impl::DecimalFormatFields* fields;
C++ API: FieldPosition Iterator.
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.
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: 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.