Memformat Terapung dalam Templat HTML Go
Dalam templat HTML Go, anda mungkin perlu memformat nilai titik terapung untuk paparan. Seperti yang anda nyatakan, menukar float64 kepada rentetan dengan strconv.FormatFloat dalam fail .go anda adalah mudah. Walau bagaimanapun, pendekatan ini tidak sesuai untuk templat.
Sebaliknya, anda mempunyai beberapa pilihan untuk memformat terapung dalam templat HTML anda:
Berikut ialah coretan kod contoh yang menunjukkan pilihan ini:
import ( "fmt" "html/template" "os" ) // MyFloat is a custom type for formatting floats. type MyFloat float64 // String implements the String() method for converting MyFloat to a string. func (mf MyFloat) String() string { return fmt.Sprintf("%.2f", float64(mf)) } func main() { t, err := template.New("").Funcs(template.FuncMap{ // Register the MyFormat function to format floats using a custom format string. "MyFormat": func(f float64) string { return fmt.Sprintf("%.2f", f) }, }).Parse(templ) if err != nil { panic(err) } m := map[string]interface{}{ "n0": 3.1415, "n1": fmt.Sprintf("%.2f", 3.1415), "n2": MyFloat(3.1415), "n3": 3.1415, "n4": 3.1415, } if err := t.Execute(os.Stdout, m); err != nil { panic(err) } } const templ = ` Number: n0 = {{.n0}} Formatted: n1 = {{.n1}} Custom type: n2 = {{.n2}} Calling printf: n3 = {{printf "%.2f" .n3}} MyFormat: n4 = {{MyFormat .n4}}`
Apabila anda menjalankan kod ini (cth., di Go Playground), anda akan melihat output berikut:
Number: n0 = 3.1415 Formatted: n1 = 3.14 Custom type: n2 = 3.14 Calling printf: n3 = 3.14 MyFormat: n4 = 3.14
Atas ialah kandungan terperinci Bagaimana untuk Memformat Nombor Titik Terapung dalam Templat HTML Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!