当我使用math.Floor浮点变量时遇到问题(向下舍入/截断精度部分)。我怎样才能正确地做到这一点?
package main
import (
"fmt"
"math"
)
func main() {
var st float64 = 1980
var salePrice1 = st * 0.1 / 1.1
fmt.Printf("%T:%v\n", salePrice1, salePrice1) // 179.9999
var salePrice2 = math.Floor(st * 0.1 / 1.1)
fmt.Printf("%T:%v\n", salePrice2, salePrice2) // 179
}
游乐场:https://play.golang.org/p/49TjJwwEdEJ
输出:
float64:179.99999999999997
float64:179
我期望 的输出为1980 * 0.1 / 1.1,180但实际输出为179。
慕工程0101907
千巷猫影
相关分类