我得到一个java.lang.NumberFormatException: 对于输入字符串: “1.7023484830876092”的Long.parseLong( “digitstring太显著”)产生java.lang.NumberFormatException
字符串修剪1.70234,确实解决问题,但在切割字符串之前,我想知道是否可以使用一些java方法来利用目标对象的容量。
亲切的问候, jeroen。
我得到一个java.lang.NumberFormatException: 对于输入字符串: “1.7023484830876092”的Long.parseLong( “digitstring太显著”)产生java.lang.NumberFormatException
字符串修剪1.70234,确实解决问题,但在切割字符串之前,我想知道是否可以使用一些java方法来利用目标对象的容量。
亲切的问候, jeroen。
你可以尝试使用的DecimalFormat类:
http://download.oracle.com/javase/1.5.0/docs/api/java/text/DecimalFormat.html
DecimalFormat fm = new DecimalFormat("#.################");
try {
double x = fm.parse("1.123456789").doubleValue();
System.out.println(x);
} catch (ParseException e) {
e.printStackTrace();
}
这可能工作....
它看起来像一个浮动。特别是自第一次“。”以来。是唯一的一个。
你也许想要BigDecimal的?只要你有记忆,它的大小可变以容纳任何数量。用作new BigDecimal(stringNumber)
。缺点是你不能访问标准的中缀操作符(例如+ - */etc ...)。
但是,如果你只是想可以由原始举行然后用Long.MAX_VALUE
你不能用的Long.parseLong解析浮点值的最大值。改为使用Double.parseDouble。
你试过Double或者Float吗? – 2011-01-14 09:03:52
什么是您的语言环境中的浮点分隔符? – thkala 2011-01-14 09:16:05