在我对 go fmt 包的菜鸟理解中,我遇到了一些问题它与以下代码有关:导入“fmt”func main() { var smallFloat float64 = 0.123456789 var bigFloat float64 = 123456789000 fmt.Println(fmt.Sprintf("%f", smallFloat)) fmt.Println(fmt.Sprintf("%f", bigFloat))}输出是:0.123457123456789000.000000我不想使用科学记数法,所以认为 %f 适合我的需要。我可以从格式页面(https://golang.org/pkg/fmt/)看到它说:The default precision for %e and %f is 6; for %g it is the smallest number of digits necessary to identify the value uniquely.有没有一种方法可以使用 fmt 包,它允许我表示 smallFloat 的完整十进制值,同时不在 bigFloat 的末尾附加 6 个零?
1 回答
红糖糍粑
TA贡献1815条经验 获得超6个赞
在我对 go fmt 包的菜鸟理解中,我遇到了一些问题
它与以下代码有关:
导入“fmt”
func main() {
var smallFloat float64 = 0.123456789
var bigFloat float64 = 123456789000
fmt.Println(fmt.Sprintf("%f", smallFloat))
fmt.Println(fmt.Sprintf("%f", bigFloat))
}
输出是:
0.123457
123456789000.000000
我不想使用科学记数法,所以认为 %f 适合我的需要。我可以从格式页面(https://golang.org/pkg/fmt/)看到它说:
The default precision for %e and %f is 6; for %g it is the smallest number of digits necessary to identify the value uniquely.
有没有一种方法可以使用 fmt 包,它允许我表示 smallFloat 的完整十进制值,同时不在 bigFloat 的末尾附加 6 个零?
- 1 回答
- 0 关注
- 113 浏览
添加回答
举报
0/150
提交
取消