Package com.ibm.icu.number
Class LocalizedNumberFormatter
java.lang.Object
com.ibm.icu.number.NumberFormatterSettings<LocalizedNumberFormatter>
com.ibm.icu.number.LocalizedNumberFormatter
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:
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) static final AtomicLongFieldUpdater<LocalizedNumberFormatter>
(package private) long
(package private) NumberFormatterImpl
(package private) LocalizedNumberFormatter
Fields inherited from class com.ibm.icu.number.NumberFormatterSettings
KEY_DECIMAL, KEY_GROUPING, KEY_INTEGER, KEY_LOCALE, KEY_MACROS, KEY_MAX, KEY_NOTATION, KEY_PADDER, KEY_PER_UNIT, KEY_PRECISION, KEY_ROUNDING_MODE, KEY_SCALE, KEY_SIGN, KEY_SYMBOLS, KEY_THRESHOLD, KEY_UNIT, KEY_UNIT_DISPLAY_CASE, KEY_UNIT_WIDTH, KEY_USAGE
-
Constructor Summary
ConstructorsConstructorDescriptionLocalizedNumberFormatter
(NumberFormatterSettings<?> parent, int key, Object value) -
Method Summary
Modifier and TypeMethodDescriptionprivate boolean
(package private) LocalizedNumberFormatter
format
(double input) Format the given float or double to a string using the settings specified in the NumberFormatter fluent setting chain.format
(long input) Format the given byte, short, int, or long to a string using the settings specified in the NumberFormatter fluent setting chain.private FormattedNumber
Helper method that creates a FormattedStringBuilder and formats.Format the givenMeasure
orCurrencyAmount
to a string using the settings specified in the NumberFormatter fluent setting chain.Format the givenBigInteger
,BigDecimal
, or otherNumber
to a string using the settings specified in the NumberFormatter fluent setting chain.formatImpl
(DecimalQuantity fq, FormattedStringBuilder string) Deprecated.ICU 60 This API is ICU internal only.formatImpl
(DecimalQuantity fq, MeasureUnit unit, FormattedStringBuilder string) Deprecated.ICU 67 This API is ICU internal only.getAffixImpl
(boolean isPrefix, boolean isNegative) Deprecated.This API is ICU internal only.toFormat()
Creates a representation of this LocalizedNumberFormat as aFormat
, enabling the use of this number formatter with APIs that need an object of that type, such as MessageFormat.Methods inherited from class com.ibm.icu.number.NumberFormatterSettings
decimal, displayOptions, equals, grouping, hashCode, integerWidth, macros, notation, padding, perUnit, precision, resolve, roundingMode, scale, sign, symbols, symbols, threshold, toSkeleton, unit, unitDisplayCase, unitWidth, usage
-
Field Details
-
callCount
-
callCountInternal
volatile long callCountInternal -
savedWithUnit
-
compiled
-
-
Constructor Details
-
LocalizedNumberFormatter
LocalizedNumberFormatter(NumberFormatterSettings<?> parent, int key, Object value)
-
-
Method Details
-
format
Format the given byte, short, int, or long to a string using the settings specified in the NumberFormatter fluent setting chain.- Parameters:
input
- The number to format.- Returns:
- A FormattedNumber object; call .toString() to get the string.
- See Also:
-
format
Format the given float or double to a string using the settings specified in the NumberFormatter fluent setting chain.- Parameters:
input
- The number to format.- Returns:
- A FormattedNumber object; call .toString() to get the string.
- See Also:
-
format
Format the givenBigInteger
,BigDecimal
, or otherNumber
to a string using the settings specified in the NumberFormatter fluent setting chain.- Parameters:
input
- The number to format.- Returns:
- A FormattedNumber object; call .toString() to get the string.
- See Also:
-
format
Format the givenMeasure
orCurrencyAmount
to a string using the settings specified in the NumberFormatter fluent setting chain.The unit specified here overrides any unit that may have been specified in the setter chain. This method is intended for cases when each input to the number formatter has a different unit.
- Parameters:
input
- The number to format.- Returns:
- A FormattedNumber object; call .toString() to get the string.
- See Also:
-
toFormat
Creates a representation of this LocalizedNumberFormat as aFormat
, 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
format(long)
methods should normally be used when formatting numbers, not the Format object returned by this method.- Returns:
- A Format wrapping this LocalizedNumberFormatter.
- See Also:
-
format
Helper method that creates a FormattedStringBuilder and formats. -
formatImpl
Deprecated.ICU 60 This API is ICU internal only.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:
fq
- The quantity to be formatted.string
- The string builder into which to insert the result.
-
formatImpl
@Deprecated public MicroProps formatImpl(DecimalQuantity fq, MeasureUnit unit, FormattedStringBuilder string) Deprecated.ICU 67 This API is ICU internal only.Version of above for unit override. -
getAffixImpl
Deprecated.This API is ICU internal only. UseFormattedNumber.nextPosition(com.ibm.icu.text.ConstrainedFieldPosition)
for related functionality. -
computeCompiled
private boolean computeCompiled() -
create
- Specified by:
create
in classNumberFormatterSettings<LocalizedNumberFormatter>
-