为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Go 中添加两个任意大数?

如何在 Go 中添加两个任意大数?

Go
泛舟湖上清波郎朗 2021-11-01 16:52:25
当我添加两个非常大的浮点数时,我得到了错误的输出。我怎样才能在 Go 中做到这一点?PHP有这个bcadd功能。var a float64 = 12959653081233191386469183112744623843489338314724603559902557916087872259523073406440221030943397504960564327459290759156915189196536625503825265749393408var b float64 = 1302494993937727547864388263735304125561725318351673964024430436931705604299209078600534362879064309484886438718428990856894006118477463552// correct value: 12959653081233192688964177050472171707877602050028729121627876267761836283953510338145825330152476105494927206523600244043353907625527482397831384226856960// actual output: 12959653081233192875034890470147535688504496869357889916160064603715259716015001328389483087182344476999836189247073027598559438829669033382689401152208896fmt.Println(strconv.FormatFloat(a+b, 'f', 0, 64))
查看完整描述

1 回答

?
撒科打诨

TA贡献1934条经验 获得超2个赞

谁能帮我?在php中有bcadd函数

bcadd它的朋友是任意精度的算术函数(这就是为什么它们操作字符串而不是浮点数)。浮点数的精度有限。实际上,bcmath提供了比浮点数更高的精度。

使用math/big.


查看完整回答
反对 回复 2021-11-01
  • 1 回答
  • 0 关注
  • 165 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信