Go:将big.Int转换为常规整数(int、int32、int64)

问题描述 投票:0回答:1

我认为这是一个简单的问题,互联网上有丰富的答案。但事实似乎并非如此。

我需要将 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
相比)。我该如何完成这个任务,这应该是一件非常简单的任务?

go numeric biginteger
1个回答
0
投票

@Eldar 是正确的。谢谢你!

big.Int
有一个名为
Int64()
的实例级方法,它返回值的 64 位整数表示形式(如果不能这样表示,则返回
undefined
)。

我只需要把它包裹起来

int32()
就可以得到想要的结果:

int32(bigVal.Int64())

© www.soinside.com 2019 - 2024. All rights reserved.