我想将双精度字符串格式的列表转换为双精度格式。我通过将它们放入列表并使用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