如何在java中使用DecimalFormatter?
我是java新手,我的任务中遇到了一个关于如何在java中使用DecimalFormatter?,java,decimalformat,Java,Decimalformat,我是java新手,我的任务中遇到了一个关于DecimalFormat 当我给整数时,它不应该有小数, 如果我给出十进制数,它应该打印十进制值 我使用了decimalformatter,如下所示 DecimalFormat decimalFormat = (DecimalFormat) NumberFormat.getNumberInstance(); decimalFormat.setMaximumFractionDigits(2); decimalFormat.applyPattern("0"
DecimalFormat
当我给整数时,它不应该有小数,
如果我给出十进制数,它应该打印十进制值
我使用了decimalformatter
,如下所示
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("###.##");
有关它的更多信息,您可以查看:
使用“0.##”
模式。您应该添加您使用的java版本。在jdk7中,“#.##”
工作正常。很好,很高兴它能帮上忙。