double number = Scanner.nextDouble();
DecimalFormat df = new DecimalFormat("#.#");
System.out.print (df.format(number));
我已经尝试将上面的数字四舍五入到小数点后一位,但在没有小数的情况下,它似乎四舍五入到一个整数值(例如 2.0 将显示为 2)。我想要 2.0 以及任何其他输入数字以小数点后一位显示。此外,当 DecimalFormat 将负数四舍五入为 0 时,它会将其变为 -0。我该如何解决这些问题?
最佳答案
使用“0.0”作为格式字符串。 # 表示一个数字,如果您看到的是零,则为空白。
要摆脱标志,请看this answer .
关于Java 奇怪舍入与 DecimalFormat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30458533/