Float in Go-Vorlagen formatieren
Das Formatieren von float64-Werten in Go-HTML-Vorlagen kann mit mehreren Methoden erfolgen.
1. Formatieren Sie den Float vor
Formatieren Sie den Float mit fmt.Sprintf(), bevor Sie ihn an die Vorlage übergeben:
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. Erstellen Sie eine String()-Funktion
Definieren Sie einen benutzerdefinierten Typ mit einer String()-Methode, die den Wert nach Ihren Wünschen formatiert:
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. Rufen Sie printf() in der Vorlage auf
Rufen Sie printf() in der Vorlage mit einer benutzerdefinierten Formatzeichenfolge auf:
{{printf "%.2f" .value}}
4. Registrieren Sie eine benutzerdefinierte Funktion
Registrieren Sie eine benutzerdefinierte Funktion, um den Formatierungsprozess zu vereinfachen:
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 }
In der Vorlage:
{{myFormat .value}}
Das obige ist der detaillierte Inhalt vonWie formatiere ich Float-Werte in Go-HTML-Vorlagen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!