0

我正在使用 DecimalFormat 将双精度转换为字符串,如下所示:

DecimalFormat df = new DecimalFormat("###.###");

df.format(km);

问题是,虽然变量 km 的值为9.655195710258606E-5,但 df.format 方法的结果以字符串形式返回0。但我希望得到类似9.655而不是0.

任何帮助和建议将不胜感激

谢谢你的关心

4

2 回答 2

3

它可以正常工作。字符串“9.655”是错误的。该值实际上是 0.00009655,如果将其四舍五入到小数点后 3 位,则得到“0”。

要查看更多数字,您可以在格式中使用更多小数位#.######或强制使用类似这样的格式的科学记数法#.###E0

于 2013-11-12T07:30:41.637 回答
0

在这些数字的末尾,E(x) 代表指数。E-5,表示指数为-5,表示实际数为9.655 * (1/(10^5))。

于 2013-11-12T07:33:44.983 回答