Heim  >  Artikel  >  Backend-Entwicklung  >  Wie formatiere ich Zahlen mit Kommas in C mithilfe von std::locale und std::stringstream?

Wie formatiere ich Zahlen mit Kommas in C mithilfe von std::locale und std::stringstream?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-26 21:27:02116Durchsuche

How to Format Numbers with Commas in C   Using std::locale and std::stringstream?

Zahlen mit Kommas in C formatieren

Einführung:

Zahlen in C formatieren mit Kommas sind eine häufige Aufgabe, insbesondere bei der Anzeige von Währungen oder großen numerischen Werten. Dieses Tutorial zeigt eine effiziente Methode zum Hinzufügen von Kommas zu ganzen Zahlen und Doppelzahlen.

Methode:

Um Zahlen mit Kommas zu formatieren, verwenden wir std::locale und std::stringstream.

Schritt 1: Verwenden von std::locale

<code class="cpp">std::stringstream ss;
ss.imbue(std::locale(""));</code>

std:: locale ermöglicht es uns, das Gebietsschema für die Zeichenfolgenformatierung festzulegen. Durch die Verwendung der leeren Zeichenfolge ("") wird sichergestellt, dass das Gebietsschema auf die Standardsystemeinstellungen des Benutzers festgelegt wird.

Schritt 2: Verwendung von std::stringstream

<code class="cpp">ss << std::fixed << value;

std::stringstream wird verwendet, um die formatierte Zeichenfolge zu erstellen. Wir fügen den Wert mit std::fixed in den Stream ein, um den Dezimalpunkt beizubehalten.

Ganzzahlen formatieren:

Für Ganzzahlen rufen Sie einfach auf Verwenden Sie die Methode FormatWithCommas() wie folgt:

<code class="cpp">std::string result1 = FormatWithCommas(7800);

Doppelformatierung:

Verwenden Sie für Doppelformate dieselbe Methode, jedoch mit einer geringfügigen Modifikation Bei der Verwendung von std::fixed:

<code class="cpp">ss << std::fixed << std::setprecision(2) << value;

std::setprecision() wird sichergestellt, dass nur zwei Dezimalstellen angezeigt werden.

Beispielverwendung:

<code class="cpp">#include <cmath>

std::string FormatWithCommas(double value)
{
    std::stringstream ss;
    ss.imbue(std::locale(""));
    ss << std::fixed << std::setprecision(2) << value;
    return ss.str();
}

int main()
{
    double pi = std::atan(1.0) * 4.0;
    std::string result = FormatWithCommas(pi);
    std::cout << result << "\n";
}</code>

Ausgabe:

3.14

Das obige ist der detaillierte Inhalt vonWie formatiere ich Zahlen mit Kommas in C mithilfe von std::locale und std::stringstream?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn