令人惊讶的是,我找不到其他人遇到同样的问题。我尝试简单地在 Go 中初始化一个 float64 并打印它,然后尝试进行字符串转换并打印它。两个输出都不准确。
我已经尝试了很多分数,包括那些不能解决重复小数的问题,以及简单地写出浮点数并打印(例如num := 1.5
,然后fmt.Println(num)
给出 output 1
)。
package main
import (
"fmt"
"strconv"
)
func main() {
var num float64
num = 5/3
fmt.Printf("%v\n", num)
numString := strconv.FormatFloat(num, 'f', -1, 64)
fmt.Println(numString)
}
预期的:
// Output:
1.66
1.66
实际的:
// Output:
1
1