"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Go에서 통화 형식 지정을 위해 시스템 로케일 리소스를 어떻게 활용할 수 있나요?

Go에서 통화 형식 지정을 위해 시스템 로케일 리소스를 어떻게 활용할 수 있나요?

2024-11-09에 게시됨
검색:331

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

golang에서 통화 형식 지정 golang.org/x/text/currency의 통화.Symbol 사용

시스템 로케일 리소스 사용

golang을 사용하는 경우. org/x/text/currency에서 Golang의 통화 값 형식을 지정하는 경우 DisplayTags를 활용하여 시스템 로캘에서 적절한 형식을 검색할 수 있습니다. 및 FromTag 기능. DisplayTags 함수는 언어에 대한 현지화된 이름을 제공하고 FromTag는 언어 태그를 기반으로 통화를 검색합니다.

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("$v (%v): %v%v\n", n.Name(lang), cur, currency.Symbol(cur), dec)
}

// Output:
//         American English (USD): $100,000.00
//     Brazilian Portuguese (BRL): R$100.000,00
//                   German (EUR): €100.000,00
//                 Japanese (JPY): ¥100,000
//                    Hindi (INR): ₹1,00,000.00

언어 및 ISO 코드 지정

또는 언어 또는 ISO 통화 코드를 명시적으로 지정하여 올바른 통화 형식을 검색할 수 있습니다. 그러나 숫자 형식을 지정할 언어를 제공해야 합니다.

// 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: $100,000.00
// BRL: R$100,000.00
// EUR: €100,000.00
// JPY: ¥100,000
// INR: ₹100,000.00
릴리스 선언문 이 글은 1729688479에서 복제되었습니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3