Maison  >  Article  >  développement back-end  >  Comment formater les valeurs monétaires avec des virgules et des séparateurs de milliers à l'aide de Currency.Symbol dans Go ?

Comment formater les valeurs monétaires avec des virgules et des séparateurs de milliers à l'aide de Currency.Symbol dans Go ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-24 02:27:01489parcourir

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

Formatage des valeurs monétaires avec Currency.Symbol dans Go

Dans Go, le package golang.org/x/text/currency fournit une solution complète pour formater les valeurs monétaires. Ce package permet aux développeurs de travailler avec des codes de devises, des symboles et des informations de localisation pour formater les valeurs dans des formats lisibles par l'homme.

Voici un exemple illustrant comment utiliser monnaie.Symbol pour formater une valeur monétaire :

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

Le résultat du code ci-dessus est "R$ 123.456,78". Cependant, si vous obtenez un format avec des points au lieu de virgules et sans séparateurs de milliers, cela est probablement dû au fait que les paramètres régionaux ou la langue appropriés n'ont pas été définis dans le message. Fonction NewPrinter.

Pour utiliser les ressources locales du système, vous peut spécifier la langue dans la fonction message.NewPrinter comme suit :

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

Cette approche utilisera automatiquement les paramètres régionaux du système pour formater la valeur monétaire. Par exemple, si les paramètres régionaux du système sont définis sur « en_US », le résultat sera « $12 345 678,00 ».

En exploitant la fonction devises.Symbol en conjonction avec la fonction message.NewPrinter et la gestion appropriée des paramètres régionaux, vous pouvez formater efficacement les valeurs monétaires dans un large éventail de paramètres régionaux et de formats monétaires.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn