为了账号安全,请及时绑定邮箱和手机立即绑定

为什么 float 32 和 float64 在 go 中打印为整数?

为什么 float 32 和 float64 在 go 中打印为整数?

Go
料青山看我应如是 2022-07-25 10:46:27
我在看“A Tour of Go”时看到了package mainimport (    "fmt"    "math")func main() {    var x, y int = 3, 4    var f float64 = math.Sqrt(float64(x*x + y*y))    var z uint = uint(f)    fmt.Println(x, y, z, f)}当我运行此代码时,它会打印3 4 5 5不应该是3 4 5 5.0我是全新的去查找文档,但我找不到任何答案
查看完整描述

1 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

math.Sqrt -> float64

但是您正在使用fmt.Println. 尝试

fmt.Printf("%.1f", f)

"Println formats using the default formats for its operands and writes to standard output." https://golang.org/pkg/fmt/#Println


查看完整回答
反对 回复 2022-07-25
  • 1 回答
  • 0 关注
  • 99 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信