Stroika Library 3.0d25
 
Loading...
Searching...
No Matches
FloatConversion.cpp
1/*
2 * Copyright(c) Sophist Solutions, Inc. 1990-2026. All rights reserved
3 */
4#include "Stroika/Foundation/StroikaPreComp.h"
5
6#include <charconv>
7#include <cstdarg>
8#include <cstdlib>
9#include <iomanip>
10#include <limits>
11#include <sstream>
12
15#include "Stroika/Foundation/Containers/Common.h"
18#include "Stroika/Foundation/Math/Common.h"
19
20#include "FloatConversion.h"
21
22using namespace Stroika::Foundation;
24using namespace Stroika::Foundation::Memory;
25
26/*
27 ********************************************************************************
28 ********************* FloatConversion::SignificantFigures **********************
29 ********************************************************************************
30 */
32{
34 sb << "{"sv;
35 if (fSignificantFigures_) {
36 sb << "SignificantFigures:"sv << *fSignificantFigures_;
37 }
38 else {
39 sb << "FULL"sv;
40 }
41 sb << "}"sv;
42 return sb;
43}
44
45/*
46 ********************************************************************************
47 ******************** FloatConversion::ToStringOptions **************************
48 ********************************************************************************
49 */
51{
53 sb << "{"sv;
54 if (fSignificantFigures_) {
55 sb << "SignificantFigures:"sv << *fSignificantFigures_ << ","sv;
56 }
57 if (fFmtFlags_) {
58 sb << "Fmt-Flags:"sv << Characters::ToString ((int)*fFmtFlags_, ios_base::hex) << ","sv;
59 }
60 if (fUseLocale_) {
61 sb << "Use-Locale"sv << String::FromNarrowSDKString (fUseLocale_->name ()) << ","sv;
62 }
63 if (fTrimTrailingZeros_) {
64 sb << "Trim-Trailing-Zeros: "sv << *fTrimTrailingZeros_ << ","sv;
65 }
66 if (fFloatFormat_) {
67 sb << "Scientific-Notation: "sv << (int)*fFloatFormat_ << ","sv;
68 }
69 sb << "}"sv;
70 return sb;
71}
Similar to String, but intended to more efficiently construct a String. Mutable type (String is large...
String is like std::u32string, except it is much easier to use, often much more space efficient,...
Definition String.h:201
static String FromNarrowSDKString(const char *from)
Definition String.inl:472
String ToString(T &&t, ARGS... args)
Return a debug-friendly, display version of the argument: not guaranteed parsable or usable except fo...
Definition ToString.inl:424