>백엔드 개발 >Golang >Go HTML 템플릿에서 부동 소수점 값의 형식을 지정하는 방법은 무엇입니까?

Go HTML 템플릿에서 부동 소수점 값의 형식을 지정하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-08 01:25:02969검색

How to Format Float Values in Go HTML Templates?

Go 템플릿의 Float 형식

Go HTML 템플릿의 float64 값 형식은 여러 가지 방법을 사용하여 수행할 수 있습니다.

1. Float 사전 형식 지정

템플릿에 전달하기 전에 fmt.Sprintf()를 사용하여 Float 형식을 지정합니다.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.