Go の Currency.Symbol を使用した通貨値の書式設定
Go では、 golang.org/x/text/currency パッケージは、通貨値を書式設定するための包括的なソリューションを提供します。このパッケージを使用すると、開発者は通貨コード、記号、ローカリゼーション情報を操作して、人間が判読できる形式で値をフォーマットできます。
ここでは、currency.Symbol を使用して通貨値をフォーマットする方法を示す例を示します:
<code class="go">unit, _ := currency.ParseISO("BRL") p := message.NewPrinter(language.BrazilianPortuguese) result := p.Sprint(currency.Symbol(unit.Amount(float64(valor) / 100)))</code>
上記のコードの出力は「R$ 123.456,78」です。ただし、コンマではなくポイントを使用し、桁区切り文字を含まない形式が得られる場合は、message.NewPrinter 関数で適切なロケールまたは言語が設定されていないことが原因である可能性があります。
システム ロケール リソースを使用するには、次のように、message.NewPrinter 関数で言語を指定できます:
<code class="go">import ( "fmt" "golang.org/x/text/currency" "golang.org/x/text/language" "golang.org/x/text/message" ) func main() { // Get the current locale locale, err := language.Parse(language.Default()) if err != nil { panic(err) } // Use the locale to create a message printer p := message.NewPrinter(locale) // Format the currency value using currency.Symbol fmt.Println(p.Sprintf("%v", currency.Symbol(currency.MustParseISO("USD"), 12345678))) }</code>
このアプローチでは、システムのロケール設定を自動的に使用して通貨値の形式を設定します。たとえば、システム ロケールが「en_US」に設定されている場合、出力は「$12,345,678.00」になります。
currency.Symbol 関数を message.NewPrinter 関数および適切なロケール処理と組み合わせて利用することで、次のことが可能になります。通貨値を幅広いロケールと通貨形式で効果的にフォーマットします。
以上がGo で Currency.Symbol を使用して、カンマと千の位の区切り文字を使用して通貨値をフォーマットする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。