Maison > développement back-end > Golang > le corps du texte

Comment formater les valeurs flottantes dans les modèles Go HTML ?

Mary-Kate Olsen
Libérer: 2024-11-08 01:25:02
original
830 Les gens l'ont consulté

How to Format Float Values in Go HTML Templates?

Formater Float dans les modèles Go

Le formatage des valeurs float64 dans les modèles HTML Go peut être effectué à l'aide de plusieurs méthodes.

1. Pré-formater le flottant

Formater le flottant à l'aide de fmt.Sprintf() avant de le transmettre au modèle :

func main() {
  t := template.New("")
  data := map[string]interface{}{
    "value": strconv.FormatFloat(3.1415, 'f', 2, 32),
  }
  _ = t.Execute(os.Stdout, data) // Render the template with formatted value
}
Copier après la connexion

2. Créez une fonction String()

Définissez un type personnalisé avec une méthode String() qui formate la valeur à votre guise :

type MyFloat struct {
  value float64
}

func (f MyFloat) String() string {
  return fmt.Sprintf("%.2f", f.value)
}

func main() {
  t := template.New("")
  data := map[string]interface{}{
    "value": MyFloat{3.1415},
  }
  _ = t.Execute(os.Stdout, data) // Render the template with custom type
}
Copier après la connexion

3. Appelez printf() dans le modèle

Appelez printf() dans le modèle en utilisant une chaîne de format personnalisée :

{{printf "%.2f" .value}}
Copier après la connexion

4. Enregistrez une fonction personnalisée

Enregistrez une fonction personnalisée pour simplifier le processus de formatage :

tmpl := template.New("")
tmpl = tmpl.Funcs(template.FuncMap{
  "myFormat": func(f float64) string {
    return fmt.Sprintf("%.2f", f)
  },
})

func main() {
  data := map[string]interface{}{
    "value": 3.1415,
  }
  _ = tmpl.Execute(os.Stdout, data) // Render the template using custom function
}
Copier après la connexion

Dans le modèle :

{{myFormat .value}}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!