本文正在参加「Java主题月 - Java Debug笔记活动」,详情查看< 活动链接 >
问题
我想要的是一种将双精度数转换为使用
Half-up
方法进行取整的字符串的方法,即:如果要取整的小数为5,则始终将其取整为下一个数字。这实际上就是四舍五入的标准方法。
我希望只显示有效数字,即不应有任何末尾的零。
我知道执行此操作的一种方法是使用该
String.format
方法:
String.format("%.5g%n", 0.912385);
复制代码
返回:
0.91239
复制代码
这很好,但是即使数字不重要,它也始终显示小数点后5位的数字:
String.format("%.5g%n", 0.912300);
复制代码
返回:
0.91230
复制代码
另一种方法是使用
DecimalFormatter
:
DecimalFormat df = new DecimalFormat("#.#####");
df.format(0.912385);
复制代码
返回:
0.91238
复制代码
但是,如您所见,这使用了半数舍入。如果前一位是偶数,它将四舍五入。但我想要的是这样的: