2014-04-14 148 views
0

我试图对大数进行比较,但只能得到字符串值。 那么你如何做一个big.Int条件。下面是最接近我尝试过的。if else condition with math/big

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

你可以用'如果dv.Cmp(MV)> 0'比较两个big.Int – siritinga

+0

@siritinga我已经使用“Cmp()”但它不确定,谢谢 – david

+0

使用big.Int有点棘手,是的。在链接操作时,我遇到了一些问题,每行编写一个操作更容易,读起来更容易。 – siritinga

回答