Golang 浮点运算
Golang float arithmetic
Go 中的浮点运算是如何工作的
游乐场link
package main
import "fmt"
func main() {
j := 1.021
fmt.Println(j)
k := j*1000
fmt.Println(k)
l := int(k)
fmt.Println(l)
}
Output:
1.021
1020.9999999999999
1020
我期待 1021
被打印出来,但我得到了 1020
Go 和其他人一样,使用 IEEE-754 二进制浮点运算。浮点运算对于某些十进制值是不精确的。
参考文献:
Go 中的浮点运算是如何工作的
游乐场link
package main
import "fmt"
func main() {
j := 1.021
fmt.Println(j)
k := j*1000
fmt.Println(k)
l := int(k)
fmt.Println(l)
}
Output:
1.021
1020.9999999999999
1020
我期待 1021
被打印出来,但我得到了 1020
Go 和其他人一样,使用 IEEE-754 二进制浮点运算。浮点运算对于某些十进制值是不精确的。
参考文献: