猿问

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

我在看“A Tour of Go”时看到了


package main


import (

    "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我是全新的去查找文档,但我找不到任何答案


料青山看我应如是
浏览 100回答 1
1回答

慕容森

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
随时随地看视频慕课网APP

相关分类

Go
我要回答