Convert a bigint to a string in Go

后端 未结 3 1098
不知归路
不知归路 2021-02-13 18:25

How do one convert a big int to a string (or integer) in Golang?

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


        
相关标签:
3条回答
  • 2021-02-13 19:06

    You asked how to convert a bigInt to string or to int, the accepted answer explains only how to convert to string.

    So you have your bigint := big.NewInt(123)


    You can convert your bigInt to integer in two possible ways:

    • using .Int64(). With yourInt := bigint.Int64()
    • using .Uint64(). With yourUint := bigint.Uint64()

    The reason for two methods is that uint holds 2 time bigger numbers, and sometimes you know that the answer is positive. Beware that if the number is bigger than the maximum possible for int64/uint64:

    If x cannot be represented in an int64, the result is undefined.


    And for completeness, to convert to string, just use .String() bigstr := bigint.String()

    0 讨论(0)
  • 2021-02-13 19:12

    Just use the String method : http://golang.org/pkg/math/big/#Int.String

    bigint := big.NewInt(123)
    bigstr := bigint.String()
    
    0 讨论(0)
  • 2021-02-13 19:13

    I used the following:

    bigint := big.NewInt(1231231231231)
    bigstr := fmt.Sprint(bigint)
    
    0 讨论(0)
提交回复
热议问题