我有一个大于2,147,483,647的字符串,我需要解析它。
表示Integer.parseInt没有工作,它会抛出异常。答案 0 :(得分:8)
Integer.parseInt
无法完成这项工作,除非您乐意丢失数据。想想你在这里要求的东西。
尝试使用Long.parseLong(String)
或new BigInteger(String)
作为非常大的整数。
答案 1 :(得分:1)
还有另一种称为Long的类型,可以存储最多2^63 - 1
的数字。尝试使用java.text.NumberFormat
将字符串解析为long:
NumberFormat format = NumberFormat.getInstance(java.util.Locale.US);
Number number = format.parse("2,147,483,647");
Long value = number.longValue();
答案 2 :(得分:0)
我假设你去了String,因为int无法保持你的价值。这不是必需的。您可以直接使用BigInteger,它可以处理更大的值。