Go テンプレートでの Float の書式設定
Go HTML テンプレートでの float64 値の書式設定は、複数の方法を使用して実行できます。
1.フロートを事前にフォーマットします
テンプレートに渡す前に、fmt.Sprintf() を使用してフロートをフォーマットします。
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. String() 関数を作成します
好みに合わせて値をフォーマットする String() メソッドを使用してカスタム型を定義します。
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.テンプレートで printf() を呼び出します
カスタム形式文字列を使用してテンプレートで printf() を呼び出します:
{{printf "%.2f" .value}}
4.カスタム関数の登録
書式設定プロセスを簡略化するためにカスタム関数を登録します:
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 }
テンプレート内:
{{myFormat .value}}
以上がGo HTML テンプレートで浮動小数点値をフォーマットするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。