我想獲得123456789.12的值123456789.1234如何在Java中將字符串轉換爲長兩位有效數字?
如果我使用字符串,它將使用解析邏輯直接工作。我不想返回String。要求是返回Long。
在這裏,我想返回輸出的Long類型而不是string..can有人可以幫助我嗎?
我想獲得123456789.12的值123456789.1234如何在Java中將字符串轉換爲長兩位有效數字?
如果我使用字符串,它將使用解析邏輯直接工作。我不想返回String。要求是返回Long。
在這裏,我想返回輸出的Long類型而不是string..can有人可以幫助我嗎?
Long是整數類型,因此不能包含小數。 嘗試使用Long.parseLong將導致NumberFormatException
。 您需要使用處理比例的表示法。
試試這個長期輸出:
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();
如果您正在處理貨幣計算,則應使用BigInteger和BigDecimal .. –
您是否嘗試運行此代碼?第一部分拋出異常,第二部分沒有做什麼問題要求 – Zavior
是的,我多次使用它 –
要回到它的數量不Long.You可以雙倍返還或float.Also你可以使用
DecimalFormat df = new DecimalFormat("#.##");
String stringDouble = df.format(yourDouble);;
這段代碼不會給出所需的輸出爲前。 1.3799應該返回1.38 –
如果你想從123456789.1234得到123456789.12代碼給出結果 –
ohh對不起,結果是字符串,你可以解析爲double –
長是一個整數類型,所以你根本不能返回任何小數。 – Christoph