Class ScientificNumberFormatter

java.lang.Object
com.ibm.icu.text.ScientificNumberFormatter

public final class ScientificNumberFormatter extends Object
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));
 
  • Method Details

    • getSuperscriptInstance

      public static ScientificNumberFormatter getSuperscriptInstance(ULocale locale)
      Gets a ScientificNumberFormatter instance that uses superscript characters for exponents for this locale.
      Parameters:
      locale - The locale
      Returns:
      The ScientificNumberFormatter instance.
    • getSuperscriptInstance

      public static ScientificNumberFormatter getSuperscriptInstance(DecimalFormat df)
      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 locale
      beginMarkup - 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

      public String format(Object number)
      Formats a number
      Parameters:
      number - Can be a double, int, Number or anything that DecimalFormat#format(Object) accepts.
      Returns:
      the formatted string.