很简单的程序
var mtime float64 = 3592345111.6499996000
fmt.Println(mtime - math.Trunc(mtime))
返回的结果为什么是
0.6499996185302734
这误差没法接受啊。想要实现的功能是无损地分开整数和小数部分。
怎解?
可以尝试用这个包[https://github.com/shopspring/decimal]()
```
package main
import (
"fmt"
"github.com/shopspring/decimal"
)
func main() {
var mtime float64 = 3592345111.6499996000
d := decimal.NewFromFloat(mtime)
i := d.IntPart()
d2 := decimal.New(i, 0)
d3 := d.Sub(d2)
fmt.Println(d, "-", d2, "=", d3)
}
```
结果:3592345111.6499996 - 3592345111 = 0.6499996
#1