如何在 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("###.##");
有关它的更多信息,您可以查看:
我是 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("###.##");
有关它的更多信息,您可以查看: