30
如何在Java中将数字四舍五入到小数点后n位
我想要的是一种使用double-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 但是,如您所见,这使用了半数舍入。如果前一位是偶数,它将四舍五入。我想要的是: 0.912385 -> 0.91239 0.912300 -> 0.9123 用Java实现此目标的最佳方法是什么?