Package com.ibm.icu.number
Class FormattedNumber
- java.lang.Object
-
- com.ibm.icu.number.FormattedNumber
-
- All Implemented Interfaces:
FormattedValue,CharSequence
public class FormattedNumber extends Object implements FormattedValue
The result of a number 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.- See Also:
NumberFormatter- Status:
- Stable ICU 60.
-
-
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)PluralRules.IFixedDecimalgetFixedDecimal()Deprecated.This API is ICU internal only.StringgetGender()Deprecated.This API is for technology preview only.DisplayOptions.NounClassgetNounClass()Gets the noun class of the formatted output.MeasureUnitgetOutputUnit()Gets the resolved output unit.intlength()booleannextPosition(ConstrainedFieldPosition cfpos)Iterates over field positions in the FormattedValue.CharSequencesubSequence(int start, int end)BigDecimaltoBigDecimal()Export the formatted number as a BigDecimal.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, equals, finalize, getClass, hashCode, 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 60.
-
length
public int length()
- Specified by:
lengthin interfaceCharSequence- Status:
- Stable ICU 64.
-
charAt
public char charAt(int index)
- Specified by:
charAtin interfaceCharSequence- Status:
- Stable ICU 64.
-
subSequence
public CharSequence subSequence(int start, int end)
- Specified by:
subSequencein interfaceCharSequence- Status:
- Stable ICU 64.
-
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 60.
-
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 62.
-
toBigDecimal
public BigDecimal toBigDecimal()
Export the 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 formatting pipeline.- Returns:
- A BigDecimal representation of the formatted number.
- See Also:
NumberFormatter- Status:
- Stable ICU 60.
-
getOutputUnit
public MeasureUnit getOutputUnit()
Gets the resolved output unit.The output unit is dependent upon the localized preferences for the usage specified via NumberFormatterSettings.usage(), and may be a unit with MeasureUnit.Complexity.MIXED unit complexity (MeasureUnit.getComplexity()), such as "foot-and-inch" or "hour-and-minute-and-second".
- Returns:
MeasureUnit.- Status:
- Stable ICU 68.
-
getNounClass
public DisplayOptions.NounClass getNounClass()
Gets the noun class of the formatted output. ReturnsUNDEFINEDwhen the noun class is not supported yet.- Returns:
- NounClass
- Status:
- Stable ICU 72.
-
getGender
@Deprecated public String getGender()
Deprecated.This API is for technology preview only.The gender of the formatted output.- Status:
- Technology Preview. This API is still in the early stages of development. Use at your own risk.
-
getFixedDecimal
@Deprecated public PluralRules.IFixedDecimal getFixedDecimal()
Deprecated.This API is ICU internal only.- Status:
- Internal. This API is ICU internal only.
-
-