46 using TrimTrailingZerosType::eDontTrimZeros;
47 using TrimTrailingZerosType::eTrimZeros;
57 using PredefinedLocale::eUseCLocale;
106 bool operator== (
const Precision&)
const =
default;
128 template <
floating_po
int T>
142 optional<unsigned int> fPrecision_{6};
157 eAutomaticScientific,
159 eDEFAULT = eDefaultFloat,
163 using FloatFormatType::eAutomaticScientific;
164 using FloatFormatType::eDefaultFloat;
165 using FloatFormatType::eFixedPoint;
166 using FloatFormatType::eScientific;
196 template <
typename... ARGS>
200 nonvirtual optional<Precision> GetPrecision ()
const;
203 nonvirtual optional<bool> GetTrimTrailingZeros ()
const;
220 nonvirtual optional<FloatFormatType> GetFloatFormat ()
const;
223 nonvirtual optional<ios_base::fmtflags> GetIOSFmtFlags ()
const;
226 static constexpr bool kDefaultTrimTrailingZeros{
true};
235 optional<Precision> fPrecision_;
236 optional<ios_base::fmtflags> fFmtFlags_;
237 bool fUseCurrentLocale_{
false};
238 optional<locale> fUseLocale_;
239 optional<bool> fTrimTrailingZeros_;
240 optional<FloatFormatType> fFloatFormat_;
263 template <
typename STRING_TYPE = String,
floating_po
int FLOAT_TYPE =
float>
273 string ToString (
float f,
const ToStringOptions& options);
275 string ToString (
double f,
const ToStringOptions& options);
277 string ToString (
long double f,
const ToStringOptions& options);
279 wstring
ToString (
float f,
const ToStringOptions& options);
281 wstring
ToString (
double f,
const ToStringOptions& options);
283 wstring
ToString (
long double f,
const ToStringOptions& options);
331 template <
floating_po
int T =
double, IUNICODECanUnambiguouslyConvertFrom CHAR_T>
332 T ToFloat (span<const CHAR_T> s);
333 template <
floating_po
int T =
double, IUNICODECanUnambiguouslyConvertFrom CHAR_T>
334 T ToFloat (span<const CHAR_T> s,
typename span<const CHAR_T>::iterator* remainder);
335 template <
floating_po
int T =
double,
typename STRINGISH_ARG>
336 T ToFloat (STRINGISH_ARG&& s)
338 template <
floating_po
int T =
double>