Golang浮点运算

时间:2015-11-10 22:33:55

标签: go floating-point floating-accuracy

浮点运算如何在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

1 个答案:

答案 0 :(得分:3)

和所有其他人一样,使用IEEE-754二进制浮点算法。对于某些十进​​制值,浮点运算是不精确的。

参考文献:

Floating point

IEEE floating point