我认为这是一个简单的问题,互联网上有丰富的答案。但事实似乎并非如此。
我需要将 Go
big.Int
转换为常规整数(例如 int
、int32
或 int64
)。但似乎没有直接的方法可以做到这一点。
我尝试过
int(bigVal)
、int32(bigVal)
和 int64(bigVal)
,但它们给出了错误 cannot convert bigVal(variable of type big.Int) to type x
(其中 x 是 int
、int32
或 int64
)。
我发现自己对 Go 如何使处理大数字变得如此复杂感到沮丧(与相对容易的 C#/.NET
System.Numerics.BigInteger
相比)。我该如何完成这个任务,这应该是一件非常简单的任务?
@Eldar 是正确的。谢谢你!
big.Int
有一个名为 Int64()
的实例级方法,它返回值的 64 位整数表示形式(如果不能这样表示,则返回 undefined
)。
我只需要把它包裹起来
int32()
就可以得到想要的结果:
int32(bigVal.Int64())