「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Go で Currency.Symbol を使用して、カンマと千の位の区切り文字を使用して通貨値をフォーマットする方法

Go で Currency.Symbol を使用して、カンマと千の位の区切り文字を使用して通貨値をフォーマットする方法

2024 年 11 月 4 日に公開
ブラウズ:780

How to Format Currency Values with Commas and Thousand Separators Using Currency.Symbol in Go?

Go の Currency.Symbol を使用した通貨値の書式設定

Go では、 golang.org/x/text/currency パッケージは、通貨値を書式設定するための包括的なソリューションを提供します。このパッケージを使用すると、開発者は通貨コード、記号、およびローカリゼーション情報を操作して、人間が判読できる形式で値をフォーマットできます。

ここでは、currency.Symbol を使用して通貨値をフォーマットする方法を示す例を示します:

unit, _ := currency.ParseISO("BRL")
p := message.NewPrinter(language.BrazilianPortuguese)
result := p.Sprint(currency.Symbol(unit.Amount(float64(valor) / 100)))

上記のコードの出力は「R$ 123.456,78」です。ただし、カンマではなくポイントを使用し、桁区切り記号を使用しない形式を取得している場合は、message.NewPrinter 関数に適切なロケールまたは言語が設定されていないことが原因である可能性があります。

システム ロケール リソースを使用するには、次のように、message.NewPrinter 関数で言語を指定できます:

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)))
}

この方法では、システムのロケール設定を自動的に使用して通貨値の形式が設定されます。たとえば、システム ロケールが「en_US」に設定されている場合、出力は「$12,345,678.00」になります。

currency.Symbol 関数を message.NewPrinter 関数および適切なロケール処理と組み合わせて利用することで、次のことが可能になります。通貨値を幅広いロケールおよび通貨形式で効果的にフォーマットします。

リリースステートメント この記事は次の場所に転載されています: 1729688639 権利侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3