我正在尝试对大数字进行比较,但只能获得字符串值。
那么你如何对big.Int
做一个条件。下面是我最接近我试过的。
package main
import (
"fmt"
"math/big"
)
func main() {
dirtyVal := "9446744073709551615"
dv := big.NewInt(0)
dv.SetString(dirtyVal, 10)
userVal := dv.String()
maxVal := "18446744073709551615"
mv := big.NewInt(0)
mv.SetString(maxVal, 10)
// maxValue := mv.String()
if userVal > maxVal {
fmt.Println("True")
} else {
fmt.Println("False")
}
}
答案 0 :(得分:2)
您可以使用func (*Int) Cmp
来比较两个big.Int http://golang.org/pkg/math/big/#Int.Cmp
if dv.Cmp(mv)>0 {
fmt.Println("True")
} else {
fmt.Println("False")
}