考虑以下用 go 编写的代码:
package main
import "fmt"
func main() {
const pi float64 = 22 / 7
fmt.Println("pi value", pi)
}
此处pi
的值为3
。问题是为什么值会丢失精度,即使它是 float64
类型?
最佳答案
没关系,我得到了答案。
package main
import "fmt"
func main() {
const pi float64 = 22.0 / 7.0
fmt.Println("pi value", pi)
}
输出 3.142857142857143
。似乎类型取决于整数类型是否被划分,无论接收变量是否为 float64 类型,它都会返回一个整数。所以得到一个浮点值,浮点值之间是否存在差异。
关于go - Float64 在 go 中键入常量,失去精度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31364523/