-2
通常在將字符串轉換爲浮點數時,會丟失小數點後的0。 由於具體的原因,我需要保持在字符串中尾隨的0的數量。 我目前使用該代碼,這是如何將字符串轉換爲float而不丟失Java中的結尾0?
float res = Float.parseFloat(avgStr);
但這種方法消除尾隨0。有一個更好的方法嗎?
任何幫助,非常感謝。
通常在將字符串轉換爲浮點數時,會丟失小數點後的0。 由於具體的原因,我需要保持在字符串中尾隨的0的數量。 我目前使用該代碼,這是如何將字符串轉換爲float而不丟失Java中的結尾0?
float res = Float.parseFloat(avgStr);
但這種方法消除尾隨0。有一個更好的方法嗎?
任何幫助,非常感謝。
試試這個:
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);
。 :)
你想用這些零做什麼?如果你想打印它,你可以使用'System.out.printf(「%。10f」,float_data);'在浮點數後面輸出精確的10位數字。即使沒有剩下數字,它在那裏打印'0'。 –
你是對的,float不會存儲尾隨零,所以如果你關心字符串是什麼樣的,你需要在轉換之前檢查字符串。 – azurefrog
從技術上講,0被存儲,數字表示在https://en.wikipedia.org/wiki/Single-precision_floating-point_format中。如果您不需要對字符串進行計算,請不要將其轉換。 – maraca