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.
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