ホームページ > バックエンド開発 > Golang > Go HTML テンプレートで浮動小数点値をフォーマットするにはどうすればよいですか?

Go HTML テンプレートで浮動小数点値をフォーマットするにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-08 01:25:02
オリジナル
966 人が閲覧しました

How to Format Float Values in Go HTML Templates?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート