我使用 DecimalFormat 来将 double 转换为字符串,如下所示:
DecimalFormat df = new DecimalFormat("###.###");
df.format(km);
问题是,虽然变量 km 的值为 9.655195710258606E-5
,但 df.format 方法的结果返回 0
作为字符串。但我期望类似于 9.655
而不是 0
。
任何帮助和建议将不胜感激
感谢您的关心
最佳答案
它按其应有的方式工作。字符串“9.655”是错误的。该值实际上是 0.00009655,如果将其四舍五入到小数点后 3 位,则会得到“0”。
要查看更多数字,您可以以 #.######
格式使用更多小数位,或强制使用类似于 #.### 的格式的科学记数法E0
.
关于java - 十进制格式转换问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19923277/