7 #ifndef SCINUMBERFORMATTER_H
8 #define SCINUMBERFORMATTER_H
12 #if !UCONFIG_NO_FORMATTING
14 #ifndef U_HIDE_DRAFT_API
25 class FieldPositionIterator;
26 class DecimalFormatStaticSets;
27 class DecimalFormatSymbols;
146 virtual Style *clone()
const = 0;
152 const DecimalFormatStaticSets &decimalFormatSets,
159 class U_I18N_API SuperscriptStyle :
public Style {
161 virtual Style *clone()
const;
163 virtual UnicodeString &format(
164 const UnicodeString &original,
165 FieldPositionIterator &fpi,
166 const UnicodeString &preExponent,
167 const DecimalFormatStaticSets &decimalFormatSets,
168 UnicodeString &appendTo,
175 const UnicodeString &beginMarkup,
176 const UnicodeString &endMarkup)
178 fBeginMarkup(beginMarkup),
179 fEndMarkup(endMarkup) { }
180 virtual Style *clone()
const;
182 virtual UnicodeString &format(
183 const UnicodeString &original,
184 FieldPositionIterator &fpi,
185 const UnicodeString &preExponent,
186 const DecimalFormatStaticSets &decimalFormatSets,
187 UnicodeString &appendTo,
190 UnicodeString fBeginMarkup;
191 UnicodeString fEndMarkup;
194 ScientificNumberFormatter(
195 DecimalFormat *fmtToAdopt,
199 ScientificNumberFormatter(
const ScientificNumberFormatter &other);
200 ScientificNumberFormatter &operator=(
const ScientificNumberFormatter &);
202 static void getPreExponent(
203 const DecimalFormatSymbols &dfs, UnicodeString &preExponent);
205 static ScientificNumberFormatter *createInstance(
206 DecimalFormat *fmtToAdopt,
210 UnicodeString fPreExponent;
211 DecimalFormat *fDecimalFormat;
213 const DecimalFormatStaticSets *fStaticSets;