在 go 中除以 2 big.Floats 并保留所得的小数

Divide 2 big.Floats in go and preserve the resulting decimal

我有 2 个 big.Float 个号码。

我想知道 x y 的百分比是多少。这应该在 0.0020967578% 左右。将这 2 个大浮点数相除时出现问题,答案总是 0.xxx 但方法 returns 2.09675776180520477879426e-05。有解决这个问题的想法吗?我试过先转换为字符串然后再转换回来,但这不是我不会包括的另一个兔子洞,因为我无法用它完成任何事情。我觉得我缺少一种方法可以做到这一点。我真的只需要 7 位小数的精度,这有帮助。

为什么需要 big.Float?甚至 float32 似乎都很好:

package main
import "fmt"

func percent(y, x float32) float32 {
   return y / x * 100
}

func main() {
   p := percent(1.954478300965909786, 93214.310998100256907925)
   fmt.Println(p) // 0.0020967575
}