go - Float64 在 go 中键入常量,失去精度

标签 go floating-point integer

考虑以下用 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/

相关文章:

go - 结构中 slice 的初始化

amazon-web-services - DynamoDB创建Session的常用函数

ruby-on-rails - Ruby on Rails Json 中的 float

c++ - 在 CPLEX 中从 IloBoolVarArray 解析到 Bool 的问题

javascript - javascript 数组 foreach 排序

go - 如何解析多个对象的引用

c - sizeof long double 和精度不匹配?

memory - 计算机中的一个内存位置存储多少数据?

c - 如何从字符串中分离整数并在 C 中操作它们?

go - 播放完音频后如何使程序自动退出