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 }
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 }
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}}
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 }
Dans le modèle :
{{myFormat .value}}
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!