>백엔드 개발 >Golang >Go에서 통화.기호를 사용하여 쉼표와 천 단위 구분 기호로 통화 값의 형식을 지정하는 방법은 무엇입니까?

Go에서 통화.기호를 사용하여 쉼표와 천 단위 구분 기호로 통화 값의 형식을 지정하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-24 02:27:01564검색

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

Go에서 Money.Symbol을 사용하여 통화 값 형식 지정

Go에서 golang.org/x/text/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"이 됩니다.

message.NewPrinter 기능 및 적절한 로케일 처리와 함께 통화.기호 기능을 활용하면 다음을 수행할 수 있습니다. 다양한 지역 및 통화 형식으로 통화 값의 형식을 효과적으로 지정합니다.

위 내용은 Go에서 통화.기호를 사용하여 쉼표와 천 단위 구분 기호로 통화 값의 형식을 지정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.