Apabila menggunakan golang. org/x/text/currency untuk memformat nilai mata wang di Golang, adalah mungkin untuk mendapatkan semula format yang sesuai daripada tempat sistem dengan memanfaatkan fungsi DisplayTags dan FromTag. Fungsi DisplayTags menyediakan nama setempat untuk bahasa dan FromTag mendapatkan semula mata wang berdasarkan tag bahasa.
<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>
Sebagai alternatif, anda boleh menentukan bahasa atau ISO secara eksplisit kod mata wang untuk mendapatkan semula format mata wang yang betul. Walau bagaimanapun, anda mesti menyediakan bahasa untuk memformat nombor:
<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>
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memanfaatkan Sumber Tempatan Sistem untuk Pemformatan Mata Wang dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!