我想將雙精度字符串格式的列表轉換爲雙精度格式。我通過將它們放入列表並使用Double.parseDouble(string)
方法來完成此操作。從字符串轉換爲雙刪除尾隨零
這適用於大多數數字,但當double包含尾隨零時parseDouble
方法將其刪除時,它會提供不需要的輸出。我不希望這個被刪除。
String[] values = {"124.50", "45.801", "-15.210"};
List<Double> nums = new ArrayList<Double>();
for(String s: values)
nums.add(Double.parseDouble(s));
Collections.sort(nums);
for(Double d: nums){
System.out.print(d + " ");
}
這樣產生的輸出:
-15.21 45.801 124.5
但是我想尾隨零。使用格式化線的問題在於,我必須指定打印值時所需的浮點精度,但我沒有任何具體的要求使數字精確到某個點,只需將零置於單獨的位置即可他們在那裏。
我接近這個錯誤嗎?
在討論實際雙值時,沒有「尾隨零」這樣的事情。 –
Dang,@BrianRoach擊敗了我。有問題的解決方案,但他們不是直接@leigero。如果你想讓輸出始終有n個十進制數字,你可以使用'DoubleFormat' – javatarz
有趣。我不想要一組數字n。我想我必須在轉換之前檢查字符串並手動添加零回來?這似乎非常多餘。 – leigero