golang を使用する場合。 org/x/text/currency を使用して Golang で通貨値をフォーマットすると、DisplayTags 関数と FromTag 関数を利用してシステム ロケールから適切なフォーマットを取得できます。 DisplayTags 関数は言語のローカライズされた名前を提供し、FromTag は言語タグに基づいて通貨を取得します。
<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>
または、言語または ISO を明示的に指定することもできます。通貨コードを使用して正しい通貨形式を取得します。ただし、数値をフォーマットする言語を指定する必要があります:
<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>
以上がGo で通貨の書式設定にシステム ロケール リソースを活用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。