如何将科学计数法字符串转换为big.Int?

Bri*_*man 2 go

在golang中,我在一个字符串中有一个很大的数字,如下所示:“4.49955000449955e+24”。

我怎样才能将其转换为 a big.Int

hob*_*bbs 8

使用big.ParseFloat获取a big.Float,然后使用Int方法将其转换为abig.Int

\n\n
flt, _, err := big.ParseFloat(input, 10, 0, big.ToNearestEven)\nif err != nil {\n    /* handle a parsing error here */\n}\nvar i = new(big.Int)\ni, acc := flt.Int(i)\n
Run Code Online (Sandbox Code Playgroud)\n\n

在 Go Playground 上查看

\n\n

通过将prec参数调整为ParseFloat,您可以控制中间浮点 \xe2\x80\x94 的精度,示例输入至少需要 72 位精度才能准确输出(以十个零结尾的值),但如果您使用默认值,则可以使用默认值pass 0 是 64 位。

\n