转到 fmt float64 问题

在我对 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 个零?


慕田峪9158850
浏览 114回答 1
1回答

红糖糍粑

在我对 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 个零?
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go