Loading...
Searching...
No Matches
icu::number::LocalizedNumberFormatter Class Reference

A NumberFormatter that has a locale associated with it; this means .format() methods are available. More...

`#include <numberformatter.h>`

Inheritance diagram for icu::number::LocalizedNumberFormatter:

## Public Member Functions

FormattedNumber | formatInt (int64_t value, UErrorCode &status) const
| Format the given integer number to a string using the settings specified in the NumberFormatter fluent setting chain.
FormattedNumber | formatDouble (double value, UErrorCode &status) const
| Format the given float or double to a string using the settings specified in the NumberFormatter fluent setting chain.
FormattedNumber | formatDecimal (StringPiece value, UErrorCode &status) const
| Format the given decimal number to a string using the settings specified in the NumberFormatter fluent setting chain.
const DecimalFormatSymbols * | getDecimalFormatSymbols () const
FormattedNumber | formatDecimalQuantity (const impl::DecimalQuantity &dq, UErrorCode &status) const
| Internal method.
void | getAffixImpl (bool isPrefix, bool isNegative, UnicodeString &result, UErrorCode &status) const
| Internal method for DecimalFormat compatibility.
const impl::NumberFormatterImpl * | getCompiled () const
| Internal method for testing.
int32_t | getCallCount () const
| Internal method for testing.
Format * | toFormat (UErrorCode &status) const
| Creates a representation of this LocalizedNumberFormat as an icu::Format, enabling the use of this number formatter with APIs that need an object of that type, such as MessageFormat.
UnlocalizedNumberFormatter | withoutLocale () const &
| Disassociate the locale from this formatter.
UnlocalizedNumberFormatter | withoutLocale () &&
| Overload of withoutLocale() for use on an rvalue reference.
| LocalizedNumberFormatter ()=default
| Default constructor: puts the formatter into a valid but undefined state.
| LocalizedNumberFormatter (const LocalizedNumberFormatter &other)
| Returns a copy of this LocalizedNumberFormatter.
| LocalizedNumberFormatter (LocalizedNumberFormatter &&src) noexcept
| Move constructor: The source LocalizedNumberFormatter will be left in a valid but undefined state.
LocalizedNumberFormatter & | operator= (const LocalizedNumberFormatter &other)
| Copy assignment operator.
LocalizedNumberFormatter & | operator= (LocalizedNumberFormatter &&src) noexcept
| Move assignment operator: The source LocalizedNumberFormatter will be left in a valid but undefined state.
void | formatImpl (impl::UFormattedNumberData *results, UErrorCode &status) const
| This is the core entrypoint to the number formatting pipeline.
| ~LocalizedNumberFormatter ()
| Destruct this LocalizedNumberFormatter, cleaning up any memory it might own.
Public Member Functions inherited from icu::number::NumberFormatterSettings< LocalizedNumberFormatter >
LocalizedNumberFormatter | notation (const Notation &notation) const &
| Specifies the notation style (simple, scientific, or compact) for rendering numbers.
LocalizedNumberFormatter | unit (const icu::MeasureUnit &unit) const &
| Specifies the unit (unit of measure, currency, or percent) to associate with rendered numbers.
LocalizedNumberFormatter | adoptUnit (icu::MeasureUnit *unit) const &
| Like unit(), but takes ownership of a pointer.
LocalizedNumberFormatter | perUnit (const icu::MeasureUnit &perUnit) const &
| Sets a unit to be used in the denominator.
LocalizedNumberFormatter | adoptPerUnit (icu::MeasureUnit *perUnit) const &
| Like perUnit(), but takes ownership of a pointer.
LocalizedNumberFormatter | precision (const Precision &precision) const &
| Specifies the rounding precision to use when formatting numbers.
LocalizedNumberFormatter | roundingMode (UNumberFormatRoundingMode roundingMode) const &
| Specifies how to determine the direction to round a number when it has more digits than fit in the desired precision.
LocalizedNumberFormatter | grouping (UNumberGroupingStrategy strategy) const &
| Specifies the grouping strategy to use when formatting numbers.
LocalizedNumberFormatter | integerWidth (const IntegerWidth &style) const &
| Specifies the minimum and maximum number of digits to render before the decimal mark.
LocalizedNumberFormatter | symbols (const DecimalFormatSymbols &symbols) const &
| Specifies the symbols (decimal separator, grouping separator, percent sign, numerals, etc.) to use when rendering numbers.
LocalizedNumberFormatter | adoptSymbols (NumberingSystem *symbols) const &
| Specifies that the given numbering system should be used when fetching symbols.
LocalizedNumberFormatter | unitWidth (UNumberUnitWidth width) const &
| Sets the width of the unit (measure unit or currency).
LocalizedNumberFormatter | sign (UNumberSignDisplay style) const &
| Sets the plus/minus sign display strategy.
LocalizedNumberFormatter | decimal (UNumberDecimalSeparatorDisplay style) const &
| Sets the decimal separator display strategy.
LocalizedNumberFormatter | scale (const Scale &scale) const &
| Sets a scale (multiplier) to be used to scale the number by an arbitrary amount before formatting.
LocalizedNumberFormatter | usage (StringPiece usage) const &
| Specifies the usage for which numbers will be formatted ("person-height", "road", "rainfall", etc.).
LocalizedNumberFormatter | displayOptions (const DisplayOptions &displayOptions) const &
| Specifies the DisplayOptions.
LocalizedNumberFormatter | unitDisplayCase (StringPiece unitDisplayCase) const &
| NOTE: Use displayOptions instead.
LocalizedNumberFormatter | padding (const impl::Padder &padder) const &
| Set the padding strategy.
LocalizedNumberFormatter | threshold (int32_t threshold) const &
| Internal fluent setter to support a custom regulation threshold.
LocalizedNumberFormatter | macros (const impl::MacroProps &macros) const &
| Internal fluent setter to overwrite the entire macros object.
UnicodeString | toSkeleton (UErrorCode &status) const
| Creates a skeleton string representation of this number formatter.
LocalPointer< LocalizedNumberFormatter > | clone () const &
| Returns the current (Un)LocalizedNumberFormatter as a LocalPointer wrapping a heap-allocated copy of the current object.
UBool | copyErrorTo (UErrorCode &outErrorCode) const
| Sets the UErrorCode if an error occurred in the fluent chain.

## Friends

class | NumberFormatterSettings< UnlocalizedNumberFormatter >
class | NumberFormatterSettings< LocalizedNumberFormatter >
class | UnlocalizedNumberFormatter

## Detailed Description

A NumberFormatter that has a locale associated with it; this means .format() methods are available.

Instances of this class are immutable and thread-safe.

See also
  NumberFormatter

Stable
  ICU 60

Definition at line 2520 of file numberformatter.h.

## Constructor & Destructor Documentation

## LocalizedNumberFormatter() [1/3]

icu::number::LocalizedNumberFormatter::LocalizedNumberFormatter | ( |  | ) |

default

Default constructor: puts the formatter into a valid but undefined state.

Stable
  ICU 62

References LocalizedNumberFormatter().

Referenced by LocalizedNumberFormatter(), LocalizedNumberFormatter(), LocalizedNumberFormatter(), operator=(), and operator=().

## LocalizedNumberFormatter() [2/3]

icu::number::LocalizedNumberFormatter::LocalizedNumberFormatter | ( | const LocalizedNumberFormatter & | other | ) |

Returns a copy of this LocalizedNumberFormatter.

Stable
  ICU 60

References LocalizedNumberFormatter().

## LocalizedNumberFormatter() [3/3]

icu::number::LocalizedNumberFormatter::LocalizedNumberFormatter | ( | LocalizedNumberFormatter && | src | ) |

noexcept

Move constructor: The source LocalizedNumberFormatter will be left in a valid but undefined state.

Stable
  ICU 62

References LocalizedNumberFormatter().

## ~LocalizedNumberFormatter()

icu::number::LocalizedNumberFormatter::~LocalizedNumberFormatter | ( |  | ) |

Destruct this LocalizedNumberFormatter, cleaning up any memory it might own.

Stable
  ICU 60

## Member Function Documentation

## formatDecimal()

FormattedNumber icu::number::LocalizedNumberFormatter::formatDecimal | ( | StringPiece | value,
|  | UErrorCode & | status ) const

Format the given decimal number to a string using the settings specified in the NumberFormatter fluent setting chain.

The syntax of the unformatted number is a "numeric string" as defined in the Decimal Arithmetic Specification, available at http://speleotrove.com/decimal

Parameters

  value | The number to format.
  status | Set to an ErrorCode if one occurred in the setter chain or during formatting.

Returns
  A FormattedNumber object; call .toString() to get the string.

Stable
  ICU 60

## formatDecimalQuantity()

FormattedNumber icu::number::LocalizedNumberFormatter::formatDecimalQuantity | ( | const impl::DecimalQuantity & | dq,
|  | UErrorCode & | status ) const

Internal method.

Internal
  Do not use. This API is for internal use only.

## formatDouble()

FormattedNumber icu::number::LocalizedNumberFormatter::formatDouble | ( | double | value,
|  | UErrorCode & | status ) const

Format the given float or double to a string using the settings specified in the NumberFormatter fluent setting chain.

Parameters

  value | The number to format.
  status | Set to an ErrorCode if one occurred in the setter chain or during formatting.

Returns
  A FormattedNumber object; call .toString() to get the string.

Stable
  ICU 60

## formatImpl()

void icu::number::LocalizedNumberFormatter::formatImpl | ( | impl::UFormattedNumberData * | results,
|  | UErrorCode & | status ) const

This is the core entrypoint to the number formatting pipeline.

It performs self-regulation: a static code path for the first few calls, and compiling a more efficient data structure if called repeatedly.

This function is very hot, being called in every call to the number formatting pipeline.

Parameters

  results | The results object. This method will mutate it to save the results.
  status |

Internal
  Do not use. This API is for internal use only.

## formatInt()

FormattedNumber icu::number::LocalizedNumberFormatter::formatInt | ( | int64_t | value,
|  | UErrorCode & | status ) const

Format the given integer number to a string using the settings specified in the NumberFormatter fluent setting chain.

Parameters

  value | The number to format.
  status | Set to an ErrorCode if one occurred in the setter chain or during formatting.

Returns
  A FormattedNumber object; call .toString() to get the string.

Stable
  ICU 60

## getAffixImpl()

void icu::number::LocalizedNumberFormatter::getAffixImpl | ( | bool | isPrefix,
|  | bool | isNegative,
|  | UnicodeString & | result,
|  | UErrorCode & | status ) const

Internal method for DecimalFormat compatibility.

Internal
  Do not use. This API is for internal use only.

## getCallCount()

int32_t icu::number::LocalizedNumberFormatter::getCallCount | ( |  | ) | const

Internal method for testing.

Internal
  Do not use. This API is for internal use only.

## getCompiled()

const impl::NumberFormatterImpl * icu::number::LocalizedNumberFormatter::getCompiled | ( |  | ) | const

Internal method for testing.

Internal
  Do not use. This API is for internal use only.

## getDecimalFormatSymbols()

const DecimalFormatSymbols * icu::number::LocalizedNumberFormatter::getDecimalFormatSymbols | ( |  | ) | const

Internal
  Do not use. This API is for internal use only.

## operator=() [1/2]

LocalizedNumberFormatter & icu::number::LocalizedNumberFormatter::operator= | ( | const LocalizedNumberFormatter & | other | ) |

Copy assignment operator.

Stable
  ICU 62

References LocalizedNumberFormatter().

## operator=() [2/2]

LocalizedNumberFormatter & icu::number::LocalizedNumberFormatter::operator= | ( | LocalizedNumberFormatter && | src | ) |

noexcept

Move assignment operator: The source LocalizedNumberFormatter will be left in a valid but undefined state.

Stable
  ICU 62

References LocalizedNumberFormatter().

## toFormat()

Format * icu::number::LocalizedNumberFormatter::toFormat | ( | UErrorCode & | status | ) | const

Creates a representation of this LocalizedNumberFormat as an icu::Format, enabling the use of this number formatter with APIs that need an object of that type, such as MessageFormat.

This API is not intended to be used other than for enabling API compatibility. The formatDouble, formatInt, and formatDecimal methods should normally be used when formatting numbers, not the Format object returned by this method.

The caller owns the returned object and must delete it when finished.

Returns
  A Format wrapping this LocalizedNumberFormatter.

Stable
  ICU 62

## withoutLocale() [1/2]

UnlocalizedNumberFormatter icu::number::LocalizedNumberFormatter::withoutLocale | ( |  | ) | &&

Overload of withoutLocale() for use on an rvalue reference.

Returns
  The fluent chain.

See also
  withoutLocale

Stable
  ICU 75

References withoutLocale().

## withoutLocale() [2/2]

UnlocalizedNumberFormatter icu::number::LocalizedNumberFormatter::withoutLocale | ( |  | ) | const &

Disassociate the locale from this formatter.

Returns
  The fluent chain.

Stable
  ICU 75

Referenced by withoutLocale().

## Friends And Related Symbol Documentation

## NumberFormatterSettings< LocalizedNumberFormatter >

friend class NumberFormatterSettings< LocalizedNumberFormatter >

friend

Definition at line 2713 of file numberformatter.h.

## NumberFormatterSettings< UnlocalizedNumberFormatter >

friend class NumberFormatterSettings< UnlocalizedNumberFormatter >

friend

Definition at line 2713 of file numberformatter.h.

## UnlocalizedNumberFormatter

friend class UnlocalizedNumberFormatter

friend

Definition at line 2720 of file numberformatter.h.

The documentation for this class was generated from the following file:

- i18n/unicode/numberformatter.h