Package com.ibm.icu.number
Class FormattedNumber
java.lang.Object
com.ibm.icu.number.FormattedNumber
- All Implemented Interfaces:
FormattedValue
,CharSequence
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:
-
Method Summary
Modifier and TypeMethodDescription<A extends Appendable>
AappendTo
(A appendable) Appends the formatted string to an Appendable.char
charAt
(int index) Deprecated.This API is ICU internal only.Deprecated.This API is for technology preview only.Gets the noun class of the formatted output.Gets the resolved output unit.int
length()
boolean
Iterates over field positions in the FormattedValue.subSequence
(int start, int end) Export the formatted number as a BigDecimal.Exports the formatted number as an AttributedCharacterIterator.toString()
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, isEmpty
-
Method Details
-
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.
-
length
public int length()- Specified by:
length
in interfaceCharSequence
-
charAt
public char charAt(int index) - Specified by:
charAt
in interfaceCharSequence
-
subSequence
- Specified by:
subSequence
in interfaceCharSequence
-
appendTo
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.
-
nextPosition
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.
-
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.
-
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:
-
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
.
-
getNounClass
Gets the noun class of the formatted output. ReturnsUNDEFINED
when the noun class is not supported yet.- Returns:
- NounClass
-
getGender
Deprecated.This API is for technology preview only.The gender of the formatted output. -
getFixedDecimal
Deprecated.This API is ICU internal only.
-