去 - 划分big.Float

Val*_*rie 10 math go

我正在处理需要big.Float类型的数字,我需要将它们分开.我知道big.Int有一个.Div()函数,但是如果我是正确的,那会截断值并失去我使用的精度big.Float.

相关代码

func e(prec int64) (res *big.Float) {
    res = big.NewFloat(float64(1.0))
    base := big.NewInt(prec)

    for i := base; i.Cmp(big.NewInt(int64(0))) == 1; _ = i.Sub(i, big.NewInt(1)) {
        d := big.NewFloat(float64(1.0))
        _ = d.Div(fact(i)) // error here
        res.Add(d)
    }

    return
}
Run Code Online (Sandbox Code Playgroud)

Jim*_*imB 19

使用Float.Quo进行big.Float划分:

x, y := big.NewFloat(10), big.NewFloat(3)
z := new(big.Float).Quo(x, y)
Run Code Online (Sandbox Code Playgroud)

http://play.golang.org/p/GRPAKQNkq0