我是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
答案 0 :(得分:1)
如果您使用#.##
模式,您将只获得第一个数字,其余数字将被视为小数位。
这解释了为什么在您输入3
时获得299
,因为此模式299
被视为2.99
,然后四舍五入为3
。< / p>
因此,请尝试使用此模式:
decimalFormat.applyPattern("###.##");
有关它的更多信息,您可以查看: