某次开发发现一个小数除以大数为0,看代码。

package main

import "fmt"

func main() {
        time := fmt.Sprintf("%.3f",119101423/1e9)

        fmt.Println(time)
}

这段本地调试能打印出来数,但是在线上服务打印却是0。最后发现是float64的问题,在看代码。

package main

import "fmt"

func main() {
        time := fmt.Sprintf("%.3f", float64(119101423)/1e9)

        fmt.Println(time)
}

用float64除就有数据了。