Integer.parse(String str)java.lang.NumberFormatException:错误 [英] Integer.parse(String str) java.lang.NumberFormatException: Errors

查看:294
本文介绍了Integer.parse(String str)java.lang.NumberFormatException:错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

尽管我修剪了字符串,我不断获得数字格式的期望,但是它们并不包含非数字字符,而且它对某些数字而言并不适用。下面是一个字符串的示例,我得到数字格式异常。另外,任何从0开始的字符串,例如0208405223,都返回208405223,那么这个应该是不会有零的?

I keep getting number format expectations, even though I'm trimming the strings and they don't contain non numerical characters bizarrely it works for some numbers and not others. Below is an example of a string I get number format exception for. Also, any string starting with 0 e.g "0208405223", is returned 208405223, there's no zero anymore is that supposed to happen?

String n="3020857508";
Integer a = Integer.parseInt(n.trim());
System.out.println(a);

这是例外:

Exception in thread "main" java.lang.NumberFormatException: For input string: "3020857508"
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.lang.Integer.parseInt(Integer.java:583)
    at java.lang.Integer.parseInt(Integer.java:615)
    at JavaBeans.Main.main(Main.java:15)


推荐答案

最大的解析方式为 int 2147483647 (2 31 -1),最大的 long 9223372036854775807 (2 63 -1),只有两倍长。

The largest number parseable as an int is 2147483647 (231-1), and the largest long is 9223372036854775807 (263-1), only about twice as long.

要解析任意长的数字,请使用:

To parse arbitrarily long numbers, use:

import java.math.BigInteger;

BigInteger number = new BigInteger(str);

这篇关于Integer.parse(String str)java.lang.NumberFormatException:错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆