Wie kann ich in Go ganze Zahlen mit Tausenderkommas formatieren?

Patricia Arquette
Freigeben: 2024-10-30 18:57:30
Original
583 Leute haben es durchsucht

How can I format integers with thousands commas in Go?

Ganzzahlen mit Tausenderkommas in Go formatieren

Die integrierte fmt.Printf-Funktion von Go unterstützt die Ausgabe von Ganzzahlen mit Tausenderkommas nicht nativ. Es gibt jedoch mehrere Möglichkeiten, dies zu erreichen.

Eine Möglichkeit ist die Verwendung des Pakets golang.org/x/text/message, das lokalisierte Formatierung für jede vom Unicode CLDR unterstützte Sprache bereitstellt. Hier ist ein Beispiel:

<code class="go">package main

import (
    "golang.org/x/text/language"
    "golang.org/x/text/message"
)

func main() {
    p := message.NewPrinter(language.English)
    p.Printf("%d\n", 1000)

    // Output:
    // 1,000
}</code>
Nach dem Login kopieren

Dieser Code verwendet das Gebietsschema der englischen Sprache, Sie können jedoch bei Bedarf jedes andere unterstützte Gebietsschema angeben.

Eine andere Option besteht darin, eine Bibliothek eines Drittanbieters zu verwenden, z als [github.com/AlekSi/decimal](https://github.com/AlekSi/decimal). Diese Bibliothek bietet eine Vielzahl von Methoden zum Formatieren von Zahlen, einschließlich der Möglichkeit, Tausenderkommas hinzuzufügen. Hier ein Beispiel:

<code class="go">package main

import (
    "github.com/AlekSi/decimal"
)

func main() {
    num := decimal.NewFromFloat(1000)
    str := num.String()

    fmt.Println(str)

    // Output:
    // 1,000
}</code>
Nach dem Login kopieren

Wenn Sie schließlich keine externen Bibliotheken verwenden möchten, können Sie die Nummer manuell selbst formatieren. Dies ist relativ einfach zu bewerkstelligen. Zuerst müssen Sie die Ganzzahl in eine Zeichenfolge konvertieren. Anschließend müssen Sie an den entsprechenden Stellen Kommas einfügen. So geht's:

<code class="go">func fmtComma(n int) string {
    str := strconv.Itoa(n)
    formatted := ""

    for i := len(str); i > 0; i -= 3 {
        if i == len(str) {
            formatted = str[:i]
        } else {
            formatted = str[i-3:i] + "," + formatted
        }
    }

    return formatted
}

func main() {
    fmt.Println(fmtComma(1000))

    // Output:
    // 1,000
}</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich in Go ganze Zahlen mit Tausenderkommas formatieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!