icu::ScientificNumberFormatter Class Reference

A formatter that formats numbers in user-friendly scientific notation. More...

`#include <scientificnumberformatter.h>`

Inheritance diagram for icu::ScientificNumberFormatter:

## Public Member Functions

ScientificNumberFormatter * | clone () const
| Returns a copy of this object. More...
virtual | ~ScientificNumberFormatter ()
| Destructor. More...
UnicodeString & | format (const Formattable &number, UnicodeString &appendTo, UErrorCode &status) const
| Formats a number into user friendly scientific notation. More...
Public Member Functions inherited from icu::UObject
virtual | ~UObject ()
| Destructor. More...
virtual UClassID | getDynamicClassID () const
| ICU4C "poor man's RTTI", returns a UClassID for the actual ICU class. More...

## Static Public Member Functions

static ScientificNumberFormatter * | createSuperscriptInstance (DecimalFormat *fmtToAdopt, UErrorCode &status)
| Creates a ScientificNumberFormatter instance that uses superscript characters for exponents. More...
static ScientificNumberFormatter * | createSuperscriptInstance (const Locale &locale, UErrorCode &status)
| Creates a ScientificNumberFormatter instance that uses superscript characters for exponents for this locale. More...
static ScientificNumberFormatter * | createMarkupInstance (DecimalFormat *fmtToAdopt, const UnicodeString &beginMarkup, const UnicodeString &endMarkup, UErrorCode &status)
| Creates a ScientificNumberFormatter instance that uses markup for exponents. More...
static ScientificNumberFormatter * | createMarkupInstance (const Locale &locale, const UnicodeString &beginMarkup, const UnicodeString &endMarkup, UErrorCode &status)
| Creates a ScientificNumberFormatter instance that uses markup for exponents for this locale. More...

## Detailed Description

A formatter that formats numbers in user-friendly scientific notation.

Sample code:

    UErrorCode status = U_ZERO_ERROR;
    LocalPointer<ScientificNumberFormatter> fmt(
            ScientificNumberFormatter::createMarkupInstance(
                    "en", "<sup>", "</sup>", status));
    if (U_FAILURE(status)) {
        return;
    }
    UnicodeString appendTo;
    // appendTo = "1.23456x10<sup>-78</sup>"
    fmt->format(1.23456e-78, appendTo, status);

Stable:
  ICU 55

Definition at line 52 of file scientificnumberformatter.h.

## Constructor & Destructor Documentation

## ~ScientificNumberFormatter()

virtual icu::ScientificNumberFormatter::~ScientificNumberFormatter | ( |  | ) |

virtual

Destructor.

Stable:
  ICU 55

## Member Function Documentation

## clone()

ScientificNumberFormatter* icu::ScientificNumberFormatter::clone | ( |  | ) | const

inline

Returns a copy of this object.

Caller must free returned copy.

Stable:
  ICU 55

Definition at line 121 of file scientificnumberformatter.h.

## createMarkupInstance() [1/2]

static ScientificNumberFormatter* icu::ScientificNumberFormatter::createMarkupInstance | ( | const Locale & | locale,
|  | const UnicodeString & | beginMarkup,
|  | const UnicodeString & | endMarkup,
|  | UErrorCode & | status
| ) |  |

static

Creates a ScientificNumberFormatter instance that uses markup for exponents for this locale.

Parameters

  locale | The locale
  beginMarkup | the markup to start superscript.
  endMarkup | the markup to end superscript.
  status | error returned here.

Returns
  The ScientificNumberFormatter instance.

Stable:
  ICU 55

## createMarkupInstance() [2/2]

static ScientificNumberFormatter* icu::ScientificNumberFormatter::createMarkupInstance | ( | DecimalFormat * | fmtToAdopt,
|  | const UnicodeString & | beginMarkup,
|  | const UnicodeString & | endMarkup,
|  | UErrorCode & | status
| ) |  |

static

Creates a ScientificNumberFormatter instance that uses markup for exponents.

Parameters

  fmtToAdopt | The DecimalFormat which must be configured for scientific notation.
  beginMarkup | the markup to start superscript.
  endMarkup | the markup to end superscript.
  status | error returned here.

Returns
  The new ScientificNumberFormatter instance.

Stable:
  ICU 55

## createSuperscriptInstance() [1/2]

static ScientificNumberFormatter* icu::ScientificNumberFormatter::createSuperscriptInstance | ( | const Locale & | locale,
|  | UErrorCode & | status
| ) |  |

static

Creates a ScientificNumberFormatter instance that uses superscript characters for exponents for this locale.

Parameters

  locale | The locale
  status | error returned here.

Returns
  The ScientificNumberFormatter instance.

Stable:
  ICU 55

## createSuperscriptInstance() [2/2]

static ScientificNumberFormatter* icu::ScientificNumberFormatter::createSuperscriptInstance | ( | DecimalFormat * | fmtToAdopt,
|  | UErrorCode & | status
| ) |  |

static

Creates a ScientificNumberFormatter instance that uses superscript characters for exponents.

Parameters

  fmtToAdopt | The DecimalFormat which must be configured for scientific notation.
  status | error returned here.

Returns
  The new ScientificNumberFormatter instance.

Stable:
  ICU 55

## format()

UnicodeString& icu::ScientificNumberFormatter::format | ( | const Formattable & | number,
|  | UnicodeString & | appendTo,
|  | UErrorCode & | status
| ) |  | const

Formats a number into user friendly scientific notation.

Parameters

  number | the number to format.
  appendTo | formatted string appended here.
  status | any error returned here.

Returns
  appendTo

Stable:
  ICU 55

The documentation for this class was generated from the following file:

- i18n/unicode/scientificnumberformatter.h