Zahlen mit Kommas in C formatieren
In C bietet die Klasse std::locale eine vom Gebietsschema abhängige Möglichkeit, Zahlen mit Kommas zu formatieren .
std::locale mit std::stringstream
Um eine Zahl als Zeichenfolge mit Kommas zu formatieren, können Sie std::locale mit std::stringstream verwenden wie folgt:
<code class="cpp">#include <iomanip> #include <locale> template<class T> std::string FormatWithCommas(const T& value) { std::stringstream ss; ss.imbue(std::locale("")); // Use the system's locale ss << std::fixed << value; return ss.str(); }</code>
Beispielverwendung:
<code class="cpp">std::string result1 = FormatWithCommas(7800); std::string result2 = FormatWithCommas(5100100); std::string result3 = FormatWithCommas(201234567890); // result1 = "7,800" // result2 = "5,100,100" // result3 = "201,234,567,890"</code>
Umgang mit Doubles
Um ein Double als zu formatieren Zeichenfolge mit Kommas können Sie den gleichen Ansatz wie oben verwenden, aber der Code muss den Dezimalpunkt verarbeiten:
<code class="cpp">template<class T> std::string FormatWithCommas(const T& value) { std::stringstream ss; ss.imbue(std::locale("")); ss << std::fixed << std::setprecision(2) << value; return ss.str(); }</code>
Haftungsausschluss:
Beachten Sie, dass die Die Portabilität der oben genannten Lösungen könnte ein Problem darstellen, da das bei der Übergabe von „“ verwendete Gebietsschema je nach System variieren kann.
Das obige ist der detaillierte Inhalt vonWie formatiere ich Zahlen mit Kommas in C mit std::locale?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!