在golang中,我在这样的字符串中有大量数字:“ 4.49955000449955e + 24”。
如何将其转换为big.Int?
答案 0 :(得分:3)
使用big.ParseFloat获取big.Float
,然后使用Int方法将其转换为big.Int
:
flt, _, err := big.ParseFloat(input, 10, 0, big.ToNearestEven)
if err != nil {
/* handle a parsing error here */
}
var i = new(big.Int)
i, acc := flt.Int(i)
通过将prec
自变量调整为ParseFloat
,您可以控制中间浮点数的精度-至少需要72位精度才能使示例输入准确输出(以十个零),但如果您传递0,则默认值为64位。