如何在java中使用DecimalFormater?

时间:2015-07-16 07:46:32

标签: java decimalformat

我是java的新手,我在DecimalFormat

的任务中遇到了一个问题

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

我使用了DecimalFormater,如下所示

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

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

这里是没有小数的打印。 我替换我的patern decimalFormat.applyPattern("#.##");

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

但它应该打印299 怎么做?

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

1 个答案:

答案 0 :(得分:1)

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

这解释了为什么在您输入3时获得299,因为此模式299被视为2.99,然后四舍五入为3。< / p>

因此,请尝试使用此模式:

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

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