Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich Systemgebietsschemaressourcen für die Währungsformatierung in Go nutzen?

Wie kann ich Systemgebietsschemaressourcen für die Währungsformatierung in Go nutzen?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-24 05:15:30287Durchsuche

How Can I Leverage System Locale Resources for Currency Formatting in Go?

Währungsformatierung in Golang mit dem Währungssymbol von golang.org/x/text/currency

Verwendung von Systemgebietsschemaressourcen

Bei Verwendung von Golang. org/x/text/currency zum Formatieren von Währungswerten in Golang verwenden, ist es möglich, das entsprechende Format aus dem Systemgebietsschema abzurufen, indem die Funktionen DisplayTags und FromTag genutzt werden. Die DisplayTags-Funktion stellt lokalisierte Namen für Sprachen bereit und FromTag ruft eine Währung basierend auf dem Sprach-Tag ab.

<code class="go">n := display.Tags(language.English)
for _, lcode := range []string{"en_US", "pt_BR", "de", "ja", "hi"} {
    lang := language.MustParse(lcode)
    cur, _ := currency.FromTag(lang)
    scale, _ := currency.Cash.Rounding(cur) // fractional digits
    dec := number.Decimal(100000.00, number.Scale(scale))
    p := message.NewPrinter(lang)
    p.Printf("%24v (%v): %v%v\n", n.Name(lang), cur, currency.Symbol(cur), dec)
}

// Output:
//         American English (USD): 0,000.00
//     Brazilian Portuguese (BRL): R0.000,00
//                   German (EUR): €100.000,00
//                 Japanese (JPY): ¥100,000
//                    Hindi (INR): ₹1,00,000.00</code>

Sprach- und ISO-Codes angeben

Alternativ können Sie die Sprache oder ISO explizit angeben Währungscode, um das richtige Währungsformat abzurufen. Sie müssen jedoch die Sprache angeben, in der die Nummer formatiert werden soll:

<code class="go">// Parse ISO currency code and specify language
for _, iso := range []string{"USD", "BRL", "EUR", "JPY", "INR"} {
    cur := currency.MustParseISO(iso)
    scale, _ := currency.Cash.Rounding(cur) // fractional digits
    dec := number.Decimal(100000.00, number.Scale(scale))
    p := message.NewPrinter(language.English)
    p.Printf("%v: %v%v\n", cur, currency.Symbol(cur), dec)
}

// Output:
// USD: 0,000.00
// BRL: R0,000.00
// EUR: €100,000.00
// JPY: ¥100,000
// INR: ₹100,000.00</code>

Das obige ist der detaillierte Inhalt vonWie kann ich Systemgebietsschemaressourcen für die Währungsformatierung in Go nutzen?. 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