Formatieren von Zahlen mit Kommas in C
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:
#include
#include
template
std::string FormatWithCommas(const T& value) {
std::stringstream ss;
ss.imbue(std::locale("")); // Use the system's locale
ss Beispielverwendung:
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"
Umgang mit Doubles
Um ein Double als String mit Kommas zu formatieren, können Sie den gleichen Ansatz wie oben verwenden, der Code wird dies jedoch tun müssen den Dezimalpunkt verarbeiten:
template
std::string FormatWithCommas(const T& value) {
std::stringstream ss;
ss.imbue(std::locale(""));
ss Haftungsausschluss:
Beachten Sie, dass die Portabilität der oben genannten Lösungen ein Problem darstellen könnte, da das bei der Übergabe von „“ verwendete Gebietsschema je nach System variieren kann.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3