我尝试对两个数字执行此操作但得到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);
}
先谢谢你
答案 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