14

如何在 Golang 中将大整数转换为字符串(或整数)?

bigint := big.NewInt(123) //This is what I have
bigstr = "123" //This is what I want
4

3 回答 3

34

只需使用String方法: http: //golang.org/pkg/math/big/#Int.String

bigint := big.NewInt(123)
bigstr := bigint.String()
于 2012-08-04T18:19:26.410 回答
0

我使用了以下内容:

bigint := big.NewInt(1231231231231)
bigstr := fmt.Sprint(bigint)
于 2015-03-20T03:05:12.887 回答
0

您询问如何将 bigInt 转换为字符串或 int,接受的答案仅说明如何转换为字符串。

所以你有你的bigint := big.NewInt(123)


您可以通过两种可能的方式将 bigInt 转换为整数:

  • 使用.Int64()。和yourInt := bigint.Int64()
  • 使用.Uint64()。和yourUint := bigint.Uint64()

使用两种方法的原因是 uint 拥有 2 倍大的数字,有时您知道答案是肯定的。请注意,如果数字大于 int64/uint64 可能的最大值:

如果 x 不能用 int64 表示,则结果未定义。


为了完整起见,要转换为字符串,只需使用.String() bigstr := bigint.String()

于 2015-05-25T06:09:23.040 回答