ICU 76.1 76.1
icu::ScientificNumberFormatter Class Reference

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

#include <scientificnumberformatter.h>

Inheritance diagram for icu::ScientificNumberFormatter:
icu::UObject icu::UMemory

Public Member Functions

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

Static Public Member Functions

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

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
localeThe locale
beginMarkupthe markup to start superscript.
endMarkupthe markup to end superscript.
statuserror 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
fmtToAdoptThe DecimalFormat which must be configured for scientific notation.
beginMarkupthe markup to start superscript.
endMarkupthe markup to end superscript.
statuserror 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
localeThe locale
statuserror 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
fmtToAdoptThe DecimalFormat which must be configured for scientific notation.
statuserror 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
numberthe number to format.
appendToformatted string appended here.
statusany error returned here.
Returns
appendTo
Stable
ICU 55

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