Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中使用DecimalFormatter?_Java_Decimalformat - Fatal编程技术网

如何在java中使用DecimalFormatter?

如何在java中使用DecimalFormatter?,java,decimalformat,Java,Decimalformat,我是java新手,我的任务中遇到了一个关于DecimalFormat 当我给整数时,它不应该有小数, 如果我给出十进制数,它应该打印十进制值 我使用了decimalformatter,如下所示 DecimalFormat decimalFormat = (DecimalFormat) NumberFormat.getNumberInstance(); decimalFormat.setMaximumFractionDigits(2); decimalFormat.applyPattern("0"

我是java新手,我的任务中遇到了一个关于
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
中,“#.##”
工作正常。很好,很高兴它能帮上忙。