Maison  >  Article  >  développement back-end  >  Comment formater les nombres à virgule flottante dans Go HTML/Templates ?

Comment formater les nombres à virgule flottante dans Go HTML/Templates ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-06 02:39:02555parcourir

How Do You Format Floating-Point Numbers in Go HTML/Templates?

Formatage des flottants dans Go HTML/Template

Lorsque vous travaillez avec des nombres à virgule flottante dans les modèles Go, il est souvent nécessaire de les formater à des fins d'affichage. Voici différentes méthodes pour formater les flottants en html/template :

1. Pré-formatage dans le contrôleur

Avant de transmettre le float au modèle, vous pouvez le formater dans le contrôleur à l'aide de strconv.FormatFloat().

2. Types personnalisés

Créez un type personnalisé qui implémente la méthode String(), qui formate le float avec la précision souhaitée. Le moteur de modèles utilisera automatiquement cette méthode pour le formatage.

3. Printf explicite dans le modèle

Vous pouvez appeler printf directement dans le modèle et spécifier la chaîne de format souhaitée.

4. Fonction personnalisée

Enregistrez une fonction personnalisée qui encapsule l'appel printf avec la chaîne de format souhaitée. Cela évite de répéter la chaîne de format dans le modèle.

Exemple :

Utilisation de l'approche de fonction personnalisée dans un backend Gin-Gonic :

func main() {
    router := gin.Default()
    router.GET("/", func(c *gin.Context) {
        data := map[string]interface{}{
            "n0": 3.1415,
            "n1": "%.2f", // Format string
        }
        c.HTML(http.StatusOK, "index.html", data)
    })
    router.Run()
}

Dans index.html :

Number: {{printf n1 n0}}

Cela formatera le flottant n0 à 2 décimales.

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