public abstract class NumberFormatterSettings<T extends NumberFormatterSettings<?>> extends Object
UnlocalizedNumberFormatter
and LocalizedNumberFormatter
. This class is not intended for public
subclassing.NumberFormatter
Modifier and Type | Method and Description |
---|---|
T |
decimal(NumberFormatter.DecimalSeparatorDisplay style)
Sets the decimal separator display strategy.
|
boolean |
equals(Object other) |
T |
grouping(Grouper grouper)
Deprecated.
ICU 60 This API is technical preview; see #7861.
|
int |
hashCode() |
T |
integerWidth(IntegerWidth style)
Specifies the minimum and maximum number of digits to render before the decimal mark.
|
T |
macros(com.ibm.icu.impl.number.MacroProps macros)
Deprecated.
ICU 60 This API is ICU internal only.
|
T |
notation(Notation notation)
Specifies the notation style (simple, scientific, or compact) for rendering numbers.
|
T |
padding(com.ibm.icu.impl.number.Padder padder)
Deprecated.
ICU 60 This API is ICU internal only.
|
T |
rounding(Rounder rounder)
Specifies the rounding strategy to use when formatting numbers.
|
T |
sign(NumberFormatter.SignDisplay style)
Sets the plus/minus sign display strategy.
|
T |
symbols(DecimalFormatSymbols symbols)
Specifies the symbols (decimal separator, grouping separator, percent sign, numerals, etc.) to use when rendering
numbers.
|
T |
symbols(NumberingSystem ns)
Specifies that the given numbering system should be used when fetching symbols.
|
T |
threshold(Long threshold)
Deprecated.
ICU 60 This API is ICU internal only.
|
T |
unit(MeasureUnit unit)
Specifies the unit (unit of measure, currency, or percent) to associate with rendered numbers.
|
T |
unitWidth(NumberFormatter.UnitWidth style)
Sets the width of the unit (measure unit or currency).
|
public T notation(Notation notation)
All notation styles will be properly localized with locale data, and all notation styles are compatible with units, rounding strategies, and other number formatter settings.
Pass this method the return value of a Notation
factory method. For example:
NumberFormatter.with().notation(Notation.compactShort())The default is to use simple notation.
notation
- The notation strategy to use.Notation
public T unit(MeasureUnit unit)
Note: The unit can also be specified by passing a Measure
to
LocalizedNumberFormatter.format(Measure)
. Units specified via the format method take precedence over
units specified here. This setter is designed for situations when the unit is constant for the duration of the
number formatting process.
All units will be properly localized with locale data, and all units are compatible with notation styles, rounding strategies, and other number formatter settings.
Pass this method any instance of MeasureUnit
. For units of measure:
NumberFormatter.with().unit(MeasureUnit.METER)Currency:
NumberFormatter.with().unit(Currency.getInstance("USD"))Percent:
NumberFormatter.with().unit(NoUnit.PERCENT)The default is to render without units (equivalent to
NoUnit.BASE
).unit
- The unit to render.MeasureUnit
,
Currency
,
NoUnit
public T rounding(Rounder rounder)
Pass this method the return value of one of the factory methods on Rounder
. For example:
NumberFormatter.with().rounding(Rounder.fixedFraction(2))
In most cases, the default rounding strategy is to round to 6 fraction places; i.e.,
Rounder.maxFraction(6)
. The exceptions are if compact notation is being used, then the compact
notation rounding strategy is used (see Notation.compactShort()
for details), or if the unit is a currency,
then standard currency rounding is used, which varies from currency to currency (see Rounder.currency(com.ibm.icu.util.Currency.CurrencyUsage)
for
details).
rounder
- The rounding strategy to use.Rounder
@Deprecated public T grouping(Grouper grouper)
The exact grouping widths will be chosen based on the locale.
Pass this method the return value of one of the factory methods on Grouper
. For example:
NumberFormatter.with().grouping(Grouper.min2())The default is to perform grouping without concern for the minimum grouping digits.
public T integerWidth(IntegerWidth style)
Pass this method the return value of IntegerWidth.zeroFillTo(int)
. For example:
NumberFormatter.with().integerWidth(IntegerWidth.zeroFillTo(2))The default is to have one minimum integer digit.
style
- The integer width to use.IntegerWidth
public T symbols(DecimalFormatSymbols symbols)
Pass this method an instance of DecimalFormatSymbols
. For example:
NumberFormatter.with().symbols(DecimalFormatSymbols.getInstance(new ULocale("de_CH")))
Note: DecimalFormatSymbols automatically chooses the best numbering system based on the locale. In the examples above, the first three are using the Latin numbering system, and the fourth is using the Myanmar numbering system.
Note: The instance of DecimalFormatSymbols will be copied: changes made to the symbols object after passing it into the fluent chain will not be seen.
Note: Calling this method will override the NumberingSystem previously specified in
symbols(NumberingSystem)
.
The default is to choose the symbols based on the locale specified in the fluent chain.
symbols
- The DecimalFormatSymbols to use.DecimalFormatSymbols
public T symbols(NumberingSystem ns)
Pass this method an instance of NumberingSystem
. For example, to force the locale to always use the Latin
alphabet numbering system (ASCII digits):
NumberFormatter.with().symbols(NumberingSystem.LATIN)
Note: Calling this method will override the DecimalFormatSymbols previously specified in
symbols(DecimalFormatSymbols)
.
The default is to choose the best numbering system for the locale.
ns
- The NumberingSystem to use.NumberingSystem
public T unitWidth(NumberFormatter.UnitWidth style)
Pass an element from the NumberFormatter.UnitWidth
enum to this setter. For example:
NumberFormatter.with().unitWidth(UnitWidth.FULL_NAME)
The default is the SHORT width.
style
- The width to use when rendering numbers.NumberFormatter.UnitWidth
public T sign(NumberFormatter.SignDisplay style)
Pass an element from the NumberFormatter.SignDisplay
enum to this setter. For example:
NumberFormatter.with().sign(SignDisplay.ALWAYS)
The default is AUTO sign display.
style
- The sign display strategy to use when rendering numbers.NumberFormatter.SignDisplay
public T decimal(NumberFormatter.DecimalSeparatorDisplay style)
Pass an element from the NumberFormatter.DecimalSeparatorDisplay
enum to this setter. For example:
NumberFormatter.with().decimal(DecimalSeparatorDisplay.ALWAYS)
The default is AUTO decimal separator display.
style
- The decimal separator display strategy to use when rendering numbers.NumberFormatter.DecimalSeparatorDisplay
@Deprecated public T macros(com.ibm.icu.impl.number.MacroProps macros)
@Deprecated public T padding(com.ibm.icu.impl.number.Padder padder)
@Deprecated public T threshold(Long threshold)
Copyright © 2016 Unicode, Inc. and others.