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.charcharAt(int index)booleanequals(Object other)BigDecimalgetFirstBigDecimal()Export the first formatted number as a BigDecimal.PluralRules.IFixedDecimalgetFirstFixedDecimal()Deprecated.This API is ICU internal only.NumberRangeFormatter.RangeIdentityResultgetIdentityResult()Returns whether the pair of numbers was successfully formatted as a range or whether an identity fallback was used.BigDecimalgetSecondBigDecimal()Export the second formatted number as a BigDecimal.PluralRules.IFixedDecimalgetSecondFixedDecimal()Deprecated.This API is ICU internal only.inthashCode()intlength()booleannextPosition(ConstrainedFieldPosition cfpos)Iterates over field positions in the FormattedValue.CharSequencesubSequence(int start, int end)AttributedCharacterIteratortoCharacterIterator()Exports the formatted number as an AttributedCharacterIterator.StringtoString()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:
toStringin interfaceCharSequence- Specified by:
toStringin interfaceFormattedValue- Overrides:
toStringin 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
ICUUncheckedIOExceptionis thrown instead.- Specified by:
appendToin 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:
charAtin interfaceCharSequence- Status:
- Stable ICU 64.
-
length
public int length()
- Specified by:
lengthin interfaceCharSequence- Status:
- Stable ICU 64.
-
subSequence
public CharSequence subSequence(int start, int end)
- Specified by:
subSequencein 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:
nextPositionin 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:
toCharacterIteratorin 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.
-
-