登录
首页 >  Golang >  Go问答

在 Golang 中除以两个 big.Float 数并保留小数点

来源:stackoverflow

时间:2024-02-19 09:00:17 222浏览 收藏

目前golang学习网上已经有很多关于Golang的文章了,自己在初次阅读这些文章中,也见识到了很多学习思路;那么本文《在 Golang 中除以两个 big.Float 数并保留小数点》,也希望能帮助到大家,如果阅读完后真的对你学习Golang有帮助,欢迎动动手指,评论留言并分享~

问题内容

我在 go 中有 2 个 big.Float 数字。

  • x。 93214.310998100256907925
  • y。 1.954478300965909786

我想知道 x y 的百分比是多少。这应该约为 0.0020967578%。当除以这 2 个大浮点数时,问题就出现了,答案始终是 0.xxx,但该方法返回 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
}

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>