在Java中将字符串解析为长字符串
我有以下代码:
public class Test {
public static void main(String args[]) {
String blah = "1073841824.000000000000";
Long longVersion = Long.parseLong(blah);
System.out.println("Long : " + longVersion);
}
}
当我尝试打印结果时,我得到:
Exception in thread "main" java.lang.NumberFormatException: For input
string: "1073841824.000000000000"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Long.parseLong(Long.java:589)
at java.lang.Long.parseLong(Long.java:631)
at Test.main(Test.java:5)
字符串blah
表示一个1GB的量。我不能只删除零,有些情况下,这些不会都是零。我不确定这里使用的Long
类型是否正确
# 1 楼答案
如果要使用基元类型,use应该使用double。Long不能处理小数。但是应该使用BigDecimal类而不是double。它专为大数字设计,直接处理字符串。例如: