7#ifndef SCINUMBERFORMATTER_H
8#define SCINUMBERFORMATTER_H
12#if !UCONFIG_NO_FORMATTING
25class DecimalFormatStaticSets;
118 ScientificNumberFormatter *
clone()
const {
119 return new ScientificNumberFormatter(*
this);
145 virtual Style *
clone()
const = 0;
151 const DecimalFormatStaticSets &decimalFormatSets,
155 friend class ScientificNumberFormatter;
158 class U_I18N_API SuperscriptStyle :
public Style {
160 virtual Style *clone()
const;
166 const DecimalFormatStaticSets &decimalFormatSets,
174 const UnicodeString &beginMarkup,
175 const UnicodeString &endMarkup)
177 fBeginMarkup(beginMarkup),
178 fEndMarkup(endMarkup) { }
179 virtual Style *clone()
const;
181 virtual UnicodeString &format(
182 const UnicodeString &original,
183 FieldPositionIterator &fpi,
184 const UnicodeString &preExponent,
185 const DecimalFormatStaticSets &decimalFormatSets,
186 UnicodeString &appendTo,
189 UnicodeString fBeginMarkup;
190 UnicodeString fEndMarkup;
193 ScientificNumberFormatter(
194 DecimalFormat *fmtToAdopt,
198 ScientificNumberFormatter(
const ScientificNumberFormatter &other);
199 ScientificNumberFormatter &operator=(
const ScientificNumberFormatter &);
201 static void getPreExponent(
202 const DecimalFormatSymbols &dfs, UnicodeString &preExponent);
204 static ScientificNumberFormatter *createInstance(
205 DecimalFormat *fmtToAdopt,
209 UnicodeString fPreExponent;
210 DecimalFormat *fDecimalFormat;
212 const DecimalFormatStaticSets *fStaticSets;
FieldPositionIterator returns the field ids and their start/limit positions generated by a call to Fo...
A Locale object represents a specific geographical, political, or cultural region.
UObject is the common ICU "boilerplate" class.
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
Basic definitions for ICU, for both C and C++ APIs.
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers,...
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside.
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.