Package com.ibm.icu.number
Class FormattedNumberRange
- java.lang.Object
-
- com.ibm.icu.number.FormattedNumberRange
-
- All Implemented Interfaces:
FormattedValue
,CharSequence
public class FormattedNumberRange extends Object implements FormattedValue
The result of a number range formatting operation. This class allows the result to be exported in several data types, including a String, an AttributedCharacterIterator, and a BigDecimal. Instances of this class are immutable and thread-safe.- Author:
- sffc
- See Also:
NumberRangeFormatter
- Status:
- Stable ICU 63.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description <A extends Appendable>
AappendTo(A appendable)
Appends the formatted string to an Appendable.char
charAt(int index)
boolean
equals(Object other)
BigDecimal
getFirstBigDecimal()
Export the first formatted number as a BigDecimal.PluralRules.IFixedDecimal
getFirstFixedDecimal()
Deprecated.This API is ICU internal only.NumberRangeFormatter.RangeIdentityResult
getIdentityResult()
Returns whether the pair of numbers was successfully formatted as a range or whether an identity fallback was used.BigDecimal
getSecondBigDecimal()
Export the second formatted number as a BigDecimal.PluralRules.IFixedDecimal
getSecondFixedDecimal()
Deprecated.This API is ICU internal only.int
hashCode()
int
length()
boolean
nextPosition(ConstrainedFieldPosition cfpos)
Iterates over field positions in the FormattedValue.CharSequence
subSequence(int start, int end)
AttributedCharacterIterator
toCharacterIterator()
Exports the formatted number as an AttributedCharacterIterator.String
toString()
Returns the formatted string as a Java String.-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.lang.CharSequence
chars, codePoints
-
-
-
-
Method Detail
-
toString
public String toString()
Returns the formatted string as a Java String. Consider usingFormattedValue.appendTo(A)
for greater efficiency.- Specified by:
toString
in interfaceCharSequence
- Specified by:
toString
in interfaceFormattedValue
- Overrides:
toString
in classObject
- Returns:
- The formatted string.
- Status:
- Stable ICU 63.
-
appendTo
public <A extends Appendable> A appendTo(A appendable)
Appends the formatted string to an Appendable.If an IOException occurs when appending to the Appendable, an unchecked
ICUUncheckedIOException
is thrown instead.- Specified by:
appendTo
in interfaceFormattedValue
- Parameters:
appendable
- The Appendable to which to append the string output.- Returns:
- The same Appendable, for chaining.
- Status:
- Stable ICU 63.
-
charAt
public char charAt(int index)
- Specified by:
charAt
in interfaceCharSequence
- Status:
- Stable ICU 64.
-
length
public int length()
- Specified by:
length
in interfaceCharSequence
- Status:
- Stable ICU 64.
-
subSequence
public CharSequence subSequence(int start, int end)
- Specified by:
subSequence
in interfaceCharSequence
- Status:
- Stable ICU 64.
-
nextPosition
public boolean nextPosition(ConstrainedFieldPosition cfpos)
Iterates over field positions in the FormattedValue. This lets you determine the position of specific types of substrings, like a month or a decimal separator. To loop over all field positions:ConstrainedFieldPosition cfpos = new ConstrainedFieldPosition(); while (fmtval.nextPosition(cfpos)) { // handle the field position; get information from cfpos }
- Specified by:
nextPosition
in interfaceFormattedValue
- Parameters:
cfpos
- The object used for iteration state. This can provide constraints to iterate over only one specific field; seeConstrainedFieldPosition.constrainField(java.text.Format.Field)
.- Returns:
- true if a new occurrence of the field was found; false otherwise.
- Status:
- Stable ICU 64.
-
toCharacterIterator
public AttributedCharacterIterator toCharacterIterator()
Exports the formatted number as an AttributedCharacterIterator.Consider using
FormattedValue.nextPosition(com.ibm.icu.text.ConstrainedFieldPosition)
if you are trying to get field information.- Specified by:
toCharacterIterator
in interfaceFormattedValue
- Returns:
- An AttributedCharacterIterator containing full field information.
- Status:
- Stable ICU 63.
-
getFirstBigDecimal
public BigDecimal getFirstBigDecimal()
Export the first formatted number as a BigDecimal. This endpoint is useful for obtaining the exact number being printed after scaling and rounding have been applied by the number range formatting pipeline.- Returns:
- A BigDecimal representation of the first formatted number.
- See Also:
NumberRangeFormatter
,getSecondBigDecimal()
- Status:
- Stable ICU 63.
-
getSecondBigDecimal
public BigDecimal getSecondBigDecimal()
Export the second formatted number as a BigDecimal. This endpoint is useful for obtaining the exact number being printed after scaling and rounding have been applied by the number range formatting pipeline.- Returns:
- A BigDecimal representation of the second formatted number.
- See Also:
NumberRangeFormatter
,getFirstBigDecimal()
- Status:
- Stable ICU 63.
-
getIdentityResult
public NumberRangeFormatter.RangeIdentityResult getIdentityResult()
Returns whether the pair of numbers was successfully formatted as a range or whether an identity fallback was used. For example, if the first and second number were the same either before or after rounding occurred, an identity fallback was used.- Returns:
- A RangeIdentityType indicating the resulting identity situation in the formatted number range.
- See Also:
NumberRangeFormatter
,NumberRangeFormatter.RangeIdentityFallback
- Status:
- Stable ICU 63.
-
getFirstFixedDecimal
@Deprecated public PluralRules.IFixedDecimal getFirstFixedDecimal()
Deprecated.This API is ICU internal only.- Status:
- Internal. This API is ICU internal only.
-
getSecondFixedDecimal
@Deprecated public PluralRules.IFixedDecimal getSecondFixedDecimal()
Deprecated.This API is ICU internal only.- Status:
- Internal. This API is ICU internal only.
-
-