如何在Android中执行大数学数学?

时间:2015-03-16 17:29:06

标签: java android math operations

我尝试对两个数字执行此操作但得到NumberFormatException:无效int:" X" 我怎么能这样做?

$hash = $orderid * 3;
$hash = $hash + 15;
$hash = $hash . $userid;
$hash = $hash - 120;
$hash = $hash / 5;
$hash = $hash . $userid;
$hash = $hash - 174;

假设订单ID为1426518618,用户ID为9965

编辑: 这是PHP代码,但这与java除了(。)之外没什么区别!这意味着两个数字将相互叠加,例如x = 22和y = 33然后x.y意味着2233

这是我的错误代码:

    private String getHash(){
    long hash = 0;

    try{
    hash = (Integer.parseInt(mOrderID))*3;
    hash = hash +15;        
    String temp = String.valueOf(hash);
    hash = Integer.parseInt(temp+MyAccountAdapter.mEditItems.getID());
    hash = hash -120;
    hash = hash / 5;
    temp = String.valueOf(hash);
    hash = Integer.parseInt(temp+MyAccountAdapter.mEditItems.getID());
    hash = hash -174;
    } catch(NumberFormatException e){
        e.printStackTrace();
    }
    return String.valueOf(hash);
}

先谢谢你

1 个答案:

答案 0 :(得分:1)

你可能会使用很长时间。它的大小是2 ^ 64-1 .. 你可以在这里阅读更多: http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html 应该使用Long.parseLong()时使用Integer.parseInt()。 Integer是原始int的包装类,Long是原始long的包装类。在这里阅读更多内容:way2java.com/java-lang/wrapper-classes