我得到一個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