2013-09-27 18 views

回答

3

Long是整數類型,因此不能包含小數。 嘗試使用Long.parseLong將導致NumberFormatException。 您需要使用處理比例的表示法。

0

試試這個長期輸出:

String str = "123456789.1234"; 
BigInteger num = new BigInteger(str); 

return num.longValue(); 

嘗試一下本作浮動輸出:

String str = "123456789.1234"; 
BigDecimal num = new BigDecimal(str).setScale(2, BigDecimal.ROUND_HALF_UP); 

return num.floatValue(); 
+1

如果您正在處理貨幣計算,則應使用BigInteger和BigDecimal .. –

+1

您是否嘗試運行此代碼?第一部分拋出異常,第二部分沒有做什麼問題要求 – Zavior

+0

是的,我多次使用它 –

0

要回到它的數量不Long.You可以雙倍返還或float.Also你可以使用

DecimalFormat df = new DecimalFormat("#.##"); 
String stringDouble = df.format(yourDouble);;
+0

這段代碼不會給出所需的輸出爲前。 1.3799應該返回1.38 –

+0

如果你想從123456789.1234得到123456789.12代碼給出結果 –

+0

ohh對不起,結果是字符串,你可以解析爲double –

相關問題