2017-04-25 104 views
-2

通常在將字符串轉換爲浮點數時,會丟失小數點後的0。 由於具體的原因,我需要保持在字符串中尾隨的0的數量。 我目前使用該代碼,這是如何將字符串轉換爲float而不丟失Java中的結尾0?

float res = Float.parseFloat(avgStr); 

但這種方法消除尾隨0。有一個更好的方法嗎?

任何幫助,非常感謝。

+1

你想用這些零做什麼?如果你想打印它,你可以使用'System.out.printf(「%。10f」,float_data);'在浮點數後面輸出精確的10位數字。即使沒有剩下數字,它在那裏打印'0'。 –

+0

你是對的,float不會存儲尾隨零,所以如果你關心字符串是什麼樣的,你需要在轉換之前檢查字符串。 – azurefrog

+1

從技術上講,0被存儲,數字表示在https://en.wikipedia.org/wiki/Single-precision_floating-point_format中。如果您不需要對字符串進行計算,請不要將其轉換。 – maraca

回答

1

試試這個:

float res = Float.parseFloat(avgStr); 
System.out.printf("%.2f", res); 

隨着 「%.2f」,它會不失去尾隨0顯示小數點後2位。 或者你可以嘗試這個例子:如果你想你想轉換爲數據類型float的字符串的準確小數

String st = "12.0000"; 
float dd = Float.valueOf(st); 
int len = st.substring(st.indexOf(".") + 1, st.length()).length(); 
System.out.printf("%." + len + "f", dd); 

。 :)

相關問題