Top Description Inners Fields Constructors Methods
com.ibm.icu.number

public abstract Class Precision

extends Object
Class Inheritance
Known Direct Subclasses
com.ibm.icu.number.Precision.BogusRounder, com.ibm.icu.number.Precision.InfiniteRounderImpl, com.ibm.icu.number.Precision.SignificantRounderImpl, com.ibm.icu.number.Precision.FracSigRounderImpl, com.ibm.icu.number.Precision.IncrementRounderImpl, com.ibm.icu.number.CurrencyPrecision, com.ibm.icu.number.FractionPrecision
Imports
java.math.BigDecimal, .BigInteger, .MathContext, com.ibm.icu.impl.number.DecimalQuantity, .MultiplierProducer, .RoundingUtils, com.ibm.icu.number.NumberFormatter.RoundingPriority, .NumberFormatter.TrailingZeroDisplay, com.ibm.icu.text.PluralRules.Operand, com.ibm.icu.util.Currency, .Currency.CurrencyUsage

A class that defines the rounding precision to be used when formatting numbers in NumberFormatter.

To create a Precision, use one of the factory methods.

ICU Status
Stable since ICU 62.
See Also
NumberFormatter

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class
Precision.BogusRounder

Deprecated This API is ICU internal only.
An BogusRounder's MathContext into precision.
pack-priv static class
pack-priv static class
pack-priv static class
pack-priv static class
Precision.IncrementFiveRounderImpl

Used for increments with 5 as the only digit (nickel rounding).

pack-priv static class
Precision.IncrementOneRounderImpl

Used for increments with 1 as the only digit.

pack-priv static class
Precision.IncrementRounderImpl

Used for strange increments like 3.14.

pack-priv static class
pack-priv static class

Field Summary

Modifier and TypeField and Description
public static final Precision.BogusRounder
BOGUS_PRECISION

Deprecated ICU internal only.
pack-priv static final Precision.FracSigRounderImpl
pack-priv static final Precision.FractionRounderImpl
pack-priv static final Precision.FractionRounderImpl
pack-priv static final Precision.FractionRounderImpl
pack-priv static final Precision.SignificantRounderImpl
pack-priv static final Precision.SignificantRounderImpl
pack-priv MathContext
pack-priv static final Precision.CurrencyRounderImpl
pack-priv static final Precision.CurrencyRounderImpl
pack-priv static final Precision.IncrementFiveRounderImpl
pack-priv static final Precision.InfiniteRounderImpl
pack-priv static final Precision.SignificantRounderImpl
pack-priv NumberFormatter.TrailingZeroDisplay

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
public abstract void
apply(DecimalQuantity value)

Deprecated ICU 60 This API is ICU internal only.
pack-priv int

Returns:

The number of orders of magnitude the input was adjusted by this method.
chooseMultiplierAndApply
(DecimalQuantity
The quantity to process.
input
,
MultiplierProducer
Function to call to return a multiplier based on a magnitude.
producer
)

Deprecated as a consequence of DecimalQuantity being deprecated.
Rounding endpoint used by Engineering and Compact notation.
pack-priv static CurrencyPrecision
pack-priv static FractionPrecision
constructFraction(int minFrac, int maxFrac)

pack-priv static Precision
constructFractionSignificant(FractionPrecision base_, int minSig, int maxSig, NumberFormatter.RoundingPriority priority, boolean retain)

pack-priv static Precision
pack-priv static Precision
pack-priv static Precision
pack-priv static Precision
constructSignificant(int minSig, int maxSig)

Assumes that minSig <= maxSig.

pack-priv abstract Precision
createCopy()

Package-private clone method

pack-priv void
createCopyHelper(Precision copy)

Call this function to copy the fields from the Precision base class.

public static CurrencyPrecision

Returns:

A CurrencyPrecision for chaining or passing to the NumberFormatter precision() setter.
currency
(Currency.CurrencyUsage
Either STANDARD (for digital transactions) or CASH (for transactions where the rounding increment may be limited by the available denominations of cash or coins).
currencyUsage
)

Show numbers rounded and padded according to the rules for the currency unit.

public static FractionPrecision

Returns:

A FractionPrecision for chaining or passing to the NumberFormatter precision() setter.
fixedFraction
(int
The minimum and maximum number of numerals to display after the decimal separator (rounding if too long or padding with zeros if too short).
minMaxFractionPlaces
)

Show numbers rounded if necessary to a certain number of fraction places (numerals after the decimal separator).

public static Precision

Returns:

A Precision for chaining or passing to the NumberFormatter precision() setter.
fixedSignificantDigits
(int
The minimum and maximum number of significant digits to display (rounding if too long or padding with zeros if too short).
minMaxSignificantDigits
)

Show numbers rounded if necessary to a certain number of significant digits or significant figures.

private static int
private static int
getDisplayMagnitudeSignificant(DecimalQuantity value, int minSig)

Deprecated as a consequence of DecimalQuantity being deprecated.
private static int
private static int
getRoundingMagnitudeSignificant(DecimalQuantity value, int maxSig)

Deprecated as a consequence of DecimalQuantity being deprecated.
public static Precision

Returns:

A Precision for chaining or passing to the NumberFormatter precision() setter.
increment
(BigDecimal
The increment to which to round numbers.
roundingIncrement
)

Show numbers rounded if necessary to the closest multiple of a certain rounding increment.

public static FractionPrecision

Returns:

A FractionPrecision for chaining or passing to the NumberFormatter precision() setter.
integer
()

Show numbers rounded if necessary to the nearest integer.

public static FractionPrecision

Returns:

A FractionPrecision for chaining or passing to the NumberFormatter precision() setter.
maxFraction
(int
The maximum number of numerals to display after the decimal mark (rounding if necessary).
maxFractionPlaces
)

Show numbers rounded if necessary to a certain number of fraction places (numerals after the decimal separator).

public static Precision

Returns:

A Precision for chaining or passing to the NumberFormatter precision() setter.
maxSignificantDigits
(int
The maximum number of significant digits to display (rounding if too long).
maxSignificantDigits
)

Show numbers rounded if necessary to a certain number of significant digits/figures.

public static FractionPrecision

Returns:

A FractionPrecision for chaining or passing to the NumberFormatter precision() setter.
minFraction
(int
The minimum number of numerals to display after the decimal separator (padding with zeros if necessary).
minFractionPlaces
)

Always show at least a certain number of fraction places after the decimal separator, padding with zeros if necessary.

public static FractionPrecision

Returns:

A FractionPrecision for chaining or passing to the NumberFormatter precision() setter.
minMaxFraction
(int
The minimum number of numerals to display after the decimal separator (padding with zeros if necessary).
minFractionPlaces
,
int
The maximum number of numerals to display after the decimal separator (rounding if necessary).
maxFractionPlaces
)

Show numbers rounded if necessary to a certain number of fraction places (numerals after the decimal separator); in addition, always show at least a certain number of places after the decimal separator, padding with zeros if necessary.

public static Precision

Returns:

A Precision for chaining or passing to the NumberFormatter precision() setter.
minMaxSignificantDigits
(int
The minimum number of significant digits to display (padding with zeros if necessary).
minSignificantDigits
,
int
The maximum number of significant digits to display (rounding if necessary).
maxSignificantDigits
)

Show numbers rounded if necessary to a certain number of significant digits/figures; in addition, always show at least a certain number of significant digits, padding with zeros if necessary.

public static Precision

Returns:

A Precision for chaining or passing to the NumberFormatter precision() setter.
minSignificantDigits
(int
The minimum number of significant digits to display (padding with zeros if too short).
minSignificantDigits
)

Always show at least a certain number of significant digits/figures, padding with zeros if necessary.

pack-priv void
setResolvedMinFraction(DecimalQuantity value, int resolvedMinFraction)

Deprecated as a consequence of DecimalQuantity being deprecated.
public Precision
trailingZeroDisplay(NumberFormatter.TrailingZeroDisplay
Option to configure the display of trailing zeros.
trailingZeroDisplay
)

Configure how trailing zeros are displayed on numbers.

public static Precision

Returns:

A Precision for chaining or passing to the NumberFormatter precision() setter.
unlimited
()

Show all available digits to full precision.

pack-priv Precision

Returns:

A Rounder object ready for use.
withLocaleData
(Currency
A currency object to use in case the input object needs it.
currency
)

Returns a valid working Rounder.

public Precision
withMode(MathContext mathContext)

Deprecated This API is ICU internal only.
Sets a MathContext to use on this Precision.
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait