繁体   English   中英

十进制格式转换问题

[英]Decimal Format conversion issue

我使用DecimalFormat以便将double转换为字符串,如下所示:

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

df.format(km);

问题是,尽管变量km的值为9.655195710258606E-5 ,但df.format方法的结果以字符串形式返回0 ,但我希望像9.655而不是0

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

谢谢你的关心

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

要查看更多数字,可以使用#.######格式使用更多的小数位,或者使用#.###E0这样的格式强制使用科学计数法。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM