专栏名称: xcbeyond
架构师
目录
相关文章推荐
Java编程精选  ·  前阿里员工:内推了个38岁的研发,简历到HR ... ·  2 天前  
浙江新闻  ·  全球特警“世界杯”,“China ... ·  2 天前  
解放军报  ·  起床号 ·  3 天前  
51好读  ›  专栏  ›  xcbeyond

如何在Java中将数字四舍五入到小数点后n位 | Java Debug 笔记

xcbeyond  · 掘金  ·  · 2021-05-14 16:04

正文

阅读 24

如何在Java中将数字四舍五入到小数点后n位 | Java Debug 笔记

本文正在参加「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
复制代码

但是,如您所见,这使用了半数舍入。如果前一位是偶数,它将四舍五入。但我想要的是这样的:







请到「今天看啥」查看全文