"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como formatar valores de moeda com vírgulas e separadores de milhar usando Currency.Symbol no Go?

Como formatar valores de moeda com vírgulas e separadores de milhar usando Currency.Symbol no Go?

Publicado em 2024-11-04
Navegar:885

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

Formatação de valores de moeda com moeda.Symbol em Go

No Go, o pacote golang.org/x/text/currency fornece uma solução abrangente para formatação de valores de moeda. Este pacote permite que os desenvolvedores trabalhem com códigos de moeda, símbolos e informações de localização para formatar valores em formatos legíveis por humanos.

Aqui está um exemplo que demonstra como usar moeda.Symbol para formatar um valor de moeda:

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

A saída do código acima é "R$ 123.456,78". No entanto, se você estiver obtendo um formato com pontos em vez de vírgulas e sem separadores de milhar, é provável que seja devido à não configuração da localidade ou idioma apropriado na função message.NewPrinter.

Para usar recursos de localidade do sistema, você você pode especificar o idioma na função message.NewPrinter da seguinte forma:

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

Essa abordagem usará automaticamente as configurações de localidade do sistema para formatar o valor da moeda. Por exemplo, se a localidade do sistema estiver definida como "en_US", a saída será "$12.345.678,00".

Aproveitando a função currency.Symbol em conjunto com a função message.NewPrinter e o manuseio adequado da localidade, você pode formate efetivamente valores de moeda em uma ampla variedade de localidades e formatos de moeda.

Declaração de lançamento Este artigo foi reimpresso em: 1729688639 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3