7 #ifndef SCINUMBERFORMATTER_H
8 #define SCINUMBERFORMATTER_H
12 #if !UCONFIG_NO_FORMATTING
24 class FieldPositionIterator;
25 class DecimalFormatStaticSets;
26 class DecimalFormatSymbols;
145 virtual Style *clone()
const = 0;
151 const DecimalFormatStaticSets &decimalFormatSets,
158 class U_I18N_API SuperscriptStyle :
public Style {
160 virtual Style *clone()
const;
162 virtual UnicodeString &format(
163 const UnicodeString &original,
164 FieldPositionIterator &fpi,
165 const UnicodeString &preExponent,
166 const DecimalFormatStaticSets &decimalFormatSets,
167 UnicodeString &appendTo,
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;