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:
  • Method Details

    • toString

      public String toString()
      Returns the formatted string as a Java String. Consider using FormattedValue.appendTo(A) for greater efficiency.
      Specified by:
      toString in interface CharSequence
      Specified by:
      toString in interface FormattedValue
      Overrides:
      toString in class Object
      Returns:
      The formatted string.
    • 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 interface FormattedValue
      Parameters:
      appendable - The Appendable to which to append the string output.
      Returns:
      The same Appendable, for chaining.
    • charAt

      public char charAt(int index)
      Specified by:
      charAt in interface CharSequence
    • length

      public int length()
      Specified by:
      length in interface CharSequence
    • subSequence

      public CharSequence subSequence(int start, int end)
      Specified by:
      subSequence in interface CharSequence
    • 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 interface FormattedValue
      Parameters:
      cfpos - The object used for iteration state. This can provide constraints to iterate over only one specific field; see ConstrainedFieldPosition.constrainField(java.text.Format.Field).
      Returns:
      true if a new occurrence of the field was found; false otherwise.
    • 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 interface FormattedValue
      Returns:
      An AttributedCharacterIterator containing full field information.
    • 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:
    • 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:
    • 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:
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object other)
      Overrides:
      equals in class Object
    • getFirstFixedDecimal

      @Deprecated public PluralRules.IFixedDecimal getFirstFixedDecimal()
      Deprecated.
      This API is ICU internal only.
    • getSecondFixedDecimal

      @Deprecated public PluralRules.IFixedDecimal getSecondFixedDecimal()
      Deprecated.
      This API is ICU internal only.