Package com.ibm.icu.text
Class ScientificNumberFormatter
java.lang.Object
com.ibm.icu.text.ScientificNumberFormatter
A formatter that formats numbers in user-friendly scientific notation.
ScientificNumberFormatter instances are immutable and thread-safe.
Sample code:
ULocale en = new ULocale("en");
ScientificNumberFormatter fmt = ScientificNumberFormatter.getMarkupInstance(
en, "<sup>", "</sup>");
// Output: "1.23456×10<sup>-78</sup>" System.out.println(fmt.format(1.23456e-78));
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static classprivate static classA style type for ScientificNumberFormatter.private static class -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final DecimalFormatprivate final Stringprivate final ScientificNumberFormatter.Styleprivate static final ScientificNumberFormatter.Style -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateScientificNumberFormatter(DecimalFormat decimalFormat, String preExponent, ScientificNumberFormatter.Style style) -
Method Summary
Modifier and TypeMethodDescriptionFormats a numberprivate static ScientificNumberFormattergetInstance(DecimalFormat decimalFormat, ScientificNumberFormatter.Style style) private static ScientificNumberFormattergetInstanceForLocale(ULocale locale, ScientificNumberFormatter.Style style) static ScientificNumberFormattergetMarkupInstance(DecimalFormat df, String beginMarkup, String endMarkup) Gets a ScientificNumberFormatter instance that uses markup for exponents.static ScientificNumberFormattergetMarkupInstance(ULocale locale, String beginMarkup, String endMarkup) Gets a ScientificNumberFormatter instance that uses markup for exponents for this locale.private static Stringstatic ScientificNumberFormatterGets a ScientificNumberFormatter instance that uses superscript characters for exponents.static ScientificNumberFormattergetSuperscriptInstance(ULocale locale) Gets a ScientificNumberFormatter instance that uses superscript characters for exponents for this locale.
-
Field Details
-
preExponent
-
fmt
-
style
-
SUPER_SCRIPT
-
-
Constructor Details
-
ScientificNumberFormatter
private ScientificNumberFormatter(DecimalFormat decimalFormat, String preExponent, ScientificNumberFormatter.Style style)
-
-
Method Details
-
getSuperscriptInstance
Gets a ScientificNumberFormatter instance that uses superscript characters for exponents for this locale.- Parameters:
locale- The locale- Returns:
- The ScientificNumberFormatter instance.
-
getSuperscriptInstance
Gets a ScientificNumberFormatter instance that uses superscript characters for exponents.- Parameters:
df- The DecimalFormat must be configured for scientific notation. Caller may safely change df after this call as this method clones it when creating the ScientificNumberFormatter.- Returns:
- the ScientificNumberFormatter instance.
-
getMarkupInstance
public static ScientificNumberFormatter getMarkupInstance(ULocale locale, String beginMarkup, String endMarkup) Gets a ScientificNumberFormatter instance that uses markup for exponents for this locale.- Parameters:
locale- The localebeginMarkup- the markup to start superscript e.g<sup>endMarkup- the markup to end superscript e.g</sup>- Returns:
- The ScientificNumberFormatter instance.
-
getMarkupInstance
public static ScientificNumberFormatter getMarkupInstance(DecimalFormat df, String beginMarkup, String endMarkup) Gets a ScientificNumberFormatter instance that uses markup for exponents.- Parameters:
df- The DecimalFormat must be configured for scientific notation. Caller may safely change df after this call as this method clones it when creating the ScientificNumberFormatter.beginMarkup- the markup to start superscript e.g<sup>endMarkup- the markup to end superscript e.g</sup>- Returns:
- The ScientificNumberFormatter instance.
-
format
Formats a number- Parameters:
number- Can be a double, int, Number or anything that DecimalFormat#format(Object) accepts.- Returns:
- the formatted string.
-
getPreExponent
-
getInstance
private static ScientificNumberFormatter getInstance(DecimalFormat decimalFormat, ScientificNumberFormatter.Style style) -
getInstanceForLocale
private static ScientificNumberFormatter getInstanceForLocale(ULocale locale, ScientificNumberFormatter.Style style)
-