如何在 java 中使用 DecimalFormater?

How to use DecimalFormater in java?

我是 java 的新手,我在 DecimalFormat

的任务中遇到了问题

当我给出整数时,它不应该有任何小数, 如果我给出十进制数,它应该打印十进制值

我使用 DecimalFormater 如下

DecimalFormat decimalFormat = (DecimalFormat) NumberFormat.getNumberInstance();
decimalFormat.setMaximumFractionDigits(2);
decimalFormat.applyPattern("0");

System.out.println(decimalFormat.format(123456789.2569));

这里是不带小数点的打印。 我用 decimalFormat.applyPattern("#.##");

在这种情况下,当我给 299 它正在打印 3

但它应该打印 299 怎么做?

最后,如果我给265它应该是265,如果我给265.36它应该是265.36

如果您使用 #.## 模式,您只会得到第一位数字,其余数字将被视为小数位。

这就解释了为什么在输入 299 时得到 3 因为在这种模式下 299 被视为 2.99 然后四舍五入为 3 .

所以请尝试改用此模式:

decimalFormat.applyPattern("###.##");

有关它的更多信息,您可以查看: