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;
63 namespace numparse::impl {
64 class NumberParserImpl;
673 kPadBeforePrefix, kPadAfterPrefix, kPadBeforeSuffix, kPadAfterSuffix
736 #ifndef U_HIDE_INTERNAL_API 753 #if UCONFIG_HAVE_PARSEALLINPUT 758 void setParseAllInput(UNumberFormatAttributeValue value);
928 #ifndef U_HIDE_INTERNAL_API 974 #ifndef U_HIDE_INTERNAL_API 1020 #ifndef U_HIDE_INTERNAL_API 1072 #ifndef U_HIDE_INTERNAL_API 1110 #endif // U_HIDE_INTERNAL_API 1225 virtual void setPositivePrefix(
const UnicodeString& newValue);
1244 virtual void setNegativePrefix(
const UnicodeString& newValue);
1263 virtual void setPositiveSuffix(
const UnicodeString& newValue);
1282 virtual void setNegativeSuffix(
const UnicodeString& newValue);
1292 UBool isSignAlwaysShown()
const;
1302 void setSignAlwaysShown(
UBool value);
1316 int32_t getMultiplier()
const;
1331 virtual void setMultiplier(int32_t newValue);
1345 int32_t getMultiplierScale()
const;
1366 void setMultiplierScale(int32_t newValue);
1377 virtual double getRoundingIncrement()
const;
1390 virtual void setRoundingIncrement(
double newValue);
1423 virtual int32_t getFormatWidth()
const;
1439 virtual void setFormatWidth(int32_t width);
1486 virtual EPadPosition getPadPosition()
const;
1504 virtual void setPadPosition(EPadPosition padPos);
1516 virtual UBool isScientificNotation()
const;
1533 virtual void setScientificNotation(
UBool useScientific);
1545 virtual int8_t getMinimumExponentDigits()
const;
1559 virtual void setMinimumExponentDigits(int8_t minExpDig);
1573 virtual UBool isExponentSignAlwaysShown()
const;
1588 virtual void setExponentSignAlwaysShown(
UBool expSignAlways);
1601 int32_t getGroupingSize()
const;
1614 virtual void setGroupingSize(int32_t newValue);
1634 int32_t getSecondaryGroupingSize()
const;
1647 virtual void setSecondaryGroupingSize(int32_t newValue);
1672 int32_t getMinimumGroupingDigits()
const;
1691 void setMinimumGroupingDigits(int32_t newValue);
1701 UBool isDecimalSeparatorAlwaysShown()
const;
1711 virtual void setDecimalSeparatorAlwaysShown(
UBool newValue);
1719 UBool isDecimalPatternMatchRequired()
const;
1730 virtual void setDecimalPatternMatchRequired(
UBool newValue);
1739 UBool isParseNoExponent()
const;
1749 void setParseNoExponent(
UBool value);
1758 UBool isParseCaseSensitive()
const;
1771 void setParseCaseSensitive(
UBool value);
1781 UBool isFormatFailIfMoreThanMaxDigits()
const;
1790 void setFormatFailIfMoreThanMaxDigits(
UBool value);
1953 int32_t getMinimumSignificantDigits()
const;
1962 int32_t getMaximumSignificantDigits()
const;
1975 void setMinimumSignificantDigits(int32_t min);
1988 void setMaximumSignificantDigits(int32_t max);
1996 UBool areSignificantDigitsUsed()
const;
2005 void setSignificantDigitsUsed(
UBool useSignificantDigits);
2021 #ifndef U_FORCE_HIDE_DEPRECATED_API 2027 virtual void setCurrency(
const char16_t* theCurrency);
2028 #endif // U_FORCE_HIDE_DEPRECATED_API 2046 #ifndef U_HIDE_INTERNAL_API 2053 void formatToDecimalQuantity(
double number, number::impl::DecimalQuantity& output,
2062 void formatToDecimalQuantity(
const Formattable& number, number::impl::DecimalQuantity& output,
2146 void touchNoError();
2159 void setPropertiesFromPattern(
const UnicodeString& pattern, int32_t ignoreRounding,
2162 const numparse::impl::NumberParserImpl* getParser(
UErrorCode& status)
const;
2164 const numparse::impl::NumberParserImpl* getCurrencyParser(
UErrorCode& status)
const;
2166 static void fieldPositionHelper(
2167 const number::impl::UFormattedNumberData& formatted,
2172 static void fieldPositionIteratorHelper(
2173 const number::impl::UFormattedNumberData& formatted,
2178 void setupFastFormat();
2180 bool fastFormatDouble(
double input,
UnicodeString& output)
const;
2182 bool fastFormatInt64(int64_t input,
UnicodeString& output)
const;
2184 void doFastFormatInt32(int32_t input,
bool isNegative,
UnicodeString& output)
const;
2193 number::impl::DecimalFormatFields* fields =
nullptr;
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.