ICU 76.1 76.1
|
#include <measfmt.h>
Static Public Member Functions | |
static MeasureFormat * | createCurrencyFormat (const Locale &locale, UErrorCode &ec) |
Return a formatter for CurrencyAmount objects in the given locale. | |
static MeasureFormat * | createCurrencyFormat (UErrorCode &ec) |
Return a formatter for CurrencyAmount objects in the default locale. | |
static UClassID | getStaticClassID () |
Return the class ID for this class. | |
Protected Member Functions | |
MeasureFormat () | |
Default constructor. | |
void | initMeasureFormat (const Locale &locale, UMeasureFormatWidth width, NumberFormat *nfToAdopt, UErrorCode &status) |
ICU use only. | |
UBool | setMeasureFormatLocale (const Locale &locale, UErrorCode &status) |
ICU use only. | |
void | adoptNumberFormat (NumberFormat *nfToAdopt, UErrorCode &status) |
ICU use only. | |
const NumberFormat & | getNumberFormatInternal () const |
ICU use only. | |
const NumberFormat & | getCurrencyFormatInternal () const |
ICU use only. | |
const PluralRules & | getPluralRules () const |
ICU use only. | |
Locale | getLocale (UErrorCode &status) const |
ICU use only. | |
const char * | getLocaleID (UErrorCode &status) const |
ICU use only. | |
Protected Member Functions inherited from icu::Format | |
void | setLocaleIDs (const char *valid, const char *actual) |
Format () | |
Default constructor for subclass use only. | |
Format (const Format &) | |
Format & | operator= (const Format &) |
Additional Inherited Members | |
Static Protected Member Functions inherited from icu::Format | |
static void | syntaxError (const UnicodeString &pattern, int32_t pos, UParseError &parseError) |
Simple function for initializing a UParseError from a UnicodeString. | |
IMPORTANT: New users are strongly encouraged to see if numberformatter.h fits their use case. Although not deprecated, this header is provided for backwards compatibility only, and has much more limited capabilities.
icu::MeasureFormat::MeasureFormat | ( | const Locale & | locale, |
UMeasureFormatWidth | width, | ||
UErrorCode & | status | ||
) |
Constructor.
NOTE: New users are strongly encouraged to use icu::number::NumberFormatter
instead of NumberFormat.
icu::MeasureFormat::MeasureFormat | ( | const Locale & | locale, |
UMeasureFormatWidth | width, | ||
NumberFormat * | nfToAdopt, | ||
UErrorCode & | status | ||
) |
Constructor.
NOTE: New users are strongly encouraged to use icu::number::NumberFormatter
instead of NumberFormat.
icu::MeasureFormat::MeasureFormat | ( | const MeasureFormat & | other | ) |
Copy constructor.
|
protected |
Default constructor.
|
protected |
ICU use only.
Let subclass change NumberFormat.
|
overridevirtual |
Clones this object polymorphically.
Implements icu::Format.
Reimplemented in icu::TimeUnitFormat.
|
static |
Return a formatter for CurrencyAmount objects in the given locale.
NOTE: New users are strongly encouraged to use icu::number::NumberFormatter
instead of NumberFormat.
locale | desired locale |
ec | input-output error code |
|
static |
Return a formatter for CurrencyAmount objects in the default locale.
NOTE: New users are strongly encouraged to use icu::number::NumberFormatter
instead of NumberFormat.
ec | input-output error code |
|
overridevirtual |
|
virtual |
Format an object to produce a string.
This is a pure virtual method which subclasses must implement. This method allows polymorphic formatting of Formattable objects. If a subclass of Format receives a Formattable object type it doesn't handle (e.g., if a numeric Formattable is passed to a DateFormat object) then it returns a failing UErrorCode.
obj | The object to format. |
appendTo | Output parameter to receive result. Result is appended to existing contents. |
pos | On input: an alignment field, if desired. On output: the offsets of the alignment field. |
status | Output param filled with success/failure status. |
Implements icu::Format.
|
virtual |
Format an object to produce a string.
Subclasses should override this method. This method allows polymorphic formatting of Formattable objects. If a subclass of Format receives a Formattable object type it doesn't handle (e.g., if a numeric Formattable is passed to a DateFormat object) then it returns a failing UErrorCode.
obj | The object to format. |
appendTo | Output parameter to receive result. Result is appended to existing contents. |
posIter | On return, can be used to iterate over positions of fields generated by this format call. |
status | Output param filled with success/failure status. |
Reimplemented from icu::Format.
UnicodeString & icu::Format::format | ( | const Formattable & | obj, |
UnicodeString & | appendTo, | ||
UErrorCode & | status | ||
) | const |
Formats an object to produce a string.
obj | The object to format. |
appendTo | Output parameter to receive result. Result is appended to existing contents. |
status | Output parameter filled in with success or failure status. |
UnicodeString & icu::MeasureFormat::formatMeasurePerUnit | ( | const Measure & | measure, |
const MeasureUnit & | perUnit, | ||
UnicodeString & | appendTo, | ||
FieldPosition & | pos, | ||
UErrorCode & | status | ||
) | const |
Formats a single measure per unit.
An example of such a formatted string is 3.5 meters per second.
measure | The measure object. In above example, 3.5 meters. |
perUnit | The per unit. In above example, it is *MeasureUnit::createSecond(status) . |
appendTo | formatted string appended here. |
pos | the field position. |
status | the error. |
UnicodeString & icu::MeasureFormat::formatMeasures | ( | const Measure * | measures, |
int32_t | measureCount, | ||
UnicodeString & | appendTo, | ||
FieldPosition & | pos, | ||
UErrorCode & | status | ||
) | const |
Formats measure objects to produce a string.
An example of such a formatted string is 3 meters, 3.5 centimeters. Measure objects appear in the formatted string in the same order they appear in the "measures" array. The NumberFormat of this object is used only to format the amount of the very last measure. The other amounts are formatted with zero decimal places while rounding toward zero.
measures | array of measure objects. |
measureCount | the number of measure objects. |
appendTo | formatted string appended here. |
pos | the field position. |
status | the error. |
|
protected |
ICU use only.
Always returns the short form currency formatter.
Returns a unique class ID POLYMORPHICALLY.
Pure virtual override. This method is to implement a simple version of RTTI, since not all C++ compilers support genuine RTTI. Polymorphic operator==() and clone() methods call this method.
Reimplemented from icu::UObject.
Reimplemented in icu::TimeUnitFormat.
|
protected |
ICU use only.
|
protected |
ICU use only.
|
protected |
ICU use only.
|
protected |
ICU use only.
Return the class ID for this class.
This is useful only for comparing to a return value from getDynamicClassID(). For example:
. Base* polymorphic_pointer = createPolymorphicObject(); . if (polymorphic_pointer->getDynamicClassID() == . erived::getStaticClassID()) ...
UnicodeString icu::MeasureFormat::getUnitDisplayName | ( | const MeasureUnit & | unit, |
UErrorCode & | status | ||
) | const |
Gets the display name of the specified MeasureUnit
corresponding to the current locale and format width.
unit | The unit for which to get a display name. |
status | the error. |
|
protected |
ICU use only.
Initialize or change MeasureFormat class from subclass.
MeasureFormat & icu::MeasureFormat::operator= | ( | const MeasureFormat & | rhs | ) |
Assignment operator.
|
overridevirtual |
Parse a string to produce an object.
This implementation sets status to U_UNSUPPORTED_ERROR.
Implements icu::Format.
Reimplemented in icu::TimeUnitFormat.
|
virtual |
Parse a string to produce an object.
This is a pure virtual method which subclasses must implement. This method allows polymorphic parsing of strings into Formattable objects.
Before calling, set parse_pos.index to the offset you want to start parsing at in the source. After calling, parse_pos.index is the end of the text you parsed. If error occurs, index is unchanged.
When parsing, leading whitespace is discarded (with successful parse), while trailing whitespace is left as is.
Example:
Parsing "_12_xy" (where _ represents a space) for a number, with index == 0 will result in the number 12, with parse_pos.index updated to 3 (just before the second space). Parsing a second time will result in a failing UErrorCode since "xy" is not a number, and leave index at 3.
Subclasses will typically supply specific parse methods that return different types of values. Since methods can't overload on return types, these will typically be named "parse", while this polymorphic method will always be called parseObject. Any parse method that does not take a parse_pos should set status to an error value when no text in the required format is at the start position.
source | The string to be parsed into an object. |
result | Formattable to be set to the parse result. If parse fails, return contents are undefined. |
parse_pos | The position to start parsing at. Upon return this param is set to the position after the last character successfully parsed. If the source is not parsed successfully, this param will remain unchanged. |
Implements icu::Format.
Reimplemented in icu::TimeUnitFormat.
void icu::Format::parseObject | ( | const UnicodeString & | source, |
Formattable & | result, | ||
UErrorCode & | status | ||
) | const |
Parses a string to produce an object.
This is a convenience method which calls the pure virtual parseObject() method, and returns a failure UErrorCode if the ParsePosition indicates failure.
source | The string to be parsed into an object. |
result | Formattable to be set to the parse result. If parse fails, return contents are undefined. |
status | Output param to be filled with success/failure result code. |
|
protected |
ICU use only.
Allows subclass to change locale. Note that this method also changes the NumberFormat object. Returns true if locale changed; false if no change was made.