在BlackBerry中获取NumberFormat异常

时间:2013-05-17 12:16:17

标签: java blackberry numberformatexception

我正在尝试将字符串解析为int值。但我得到一个NumberFormat例外。我正在编写以下代码:

     Logger.out("Myprof", "Contact "+strContact);
    try{
        i = Integer.parseInt(strContact.trim());
        Logger.out("Myprof", "Contact8686866      "+i);
    }
    catch(Exception e)
    {
        Logger.out("Myprof", "exce "+e.toString());
    }

现在,当我像下面这样经过时:

i = Integer.parseInt("11223344");

我的i值为11223344。

我在哪里做错了?请帮助。

1 个答案:

答案 0 :(得分:4)

9875566521的输入值大于2147483647的{​​{3}}。而是使用Long。 (BigInteger不是Blackberry的选项)

Long number = Long.parseLong(strContact);
Logger.out("Myprof", "Contact8686866 " + number);

如果预期输入数字大于Long.MAX_VALUE,则可以使用Integer.MAX_VALUE作为验证值的替代方法:

private static boolean isValidNumber(String strContact) {
   for (int i = 0; i < strContact.length(); i++) {
      if (!Character.isDigit(strContact.charAt(i))) {
         return false;
      }
   }

   return true;
}