我正在处理需要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
| 归档时间: |
|
| 查看次数: |
3610 次 |
| 最近记录: |