Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.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百分比_Java - Fatal编程技术网

显示小数的Java百分比

显示小数的Java百分比,java,Java,我今天写了一个程序,我需要在我的输出中显示百分比,但是如果我有一个.05375的输入,我需要它显示为5.375% 我想我可以通过使用数字格式来实现这一点,但我的最终显示结果仅为5%。有没有办法让它显示小数点?或者我该如何编写代码?程序运行正常,只是一个输出需要不同的格式。 下面是我现在输出的那行代码 System.out.println("Interest Rate: " + percent.format(InterestRate)); 使用:String.format() 有关格式

我今天写了一个程序,我需要在我的输出中显示百分比,但是如果我有一个.05375的输入,我需要它显示为5.375% 我想我可以通过使用数字格式来实现这一点,但我的最终显示结果仅为5%。有没有办法让它显示小数点?或者我该如何编写代码?程序运行正常,只是一个输出需要不同的格式。 下面是我现在输出的那行代码

    System.out.println("Interest Rate:  " + percent.format(InterestRate));
使用:
String.format()

有关格式规范,请参阅文档。

如果使用
%
格式,则数字将乘以
100

new DecimalFormat("%#0.000").format(rate);
怎么样

System.out.printf("Interest Rate:  %.3f%%%n", 100 * InterestRate);

您可以使用Java中的NumberFormat来实现这一点。下面是示例代码:

NumberFormat numberFormat = NumberFormat.getNumberInstance();
numberFormat.setMinimumFractionDigits(3);

System.out.println("Interest Rate:  " + numberFormat.format(InterestRate));
更好的方法是将NumberFormat与Locale一起使用,如下所示:

NumberFormat numberFormat = NumberFormat.getNumberInstance(someLocale);
这应该给你5.375%


这与您要查找的内容类似吗?

选择的答案是正确的,但一定要使用

NumberFormat.getPercentInstance();

这将有助于很好地处理百分比。不需要额外的字符串连接或格式设置。

格式设置的要求之一是我需要显示小数点后3位。@Veger的可能副本我在搜索时没有看到该帖子。谢谢小数点后三位不是
0.000
吗?@PeterLawrey是的,略读了一下:(我从
取的,我需要它显示为5.375%
,但我知道你的意思。;)符号%使值乘以100,你不需要自己去做。@dube谢谢你。我没有意识到这一点。我学到了一些东西:)我必须把它改为setMaximumFractionDigits(3);因为另一个计算,但它起作用了。谢谢你还需要在某个地方乘以100。@Peter Lawrey你确定Peter?当我对它进行编码以获得percent实例时,它告诉我显示一个百分比(我认为它告诉java在那里乘以100),然后我设置了允许小数点的最大分数位数。我已经运行了几个成功的测试,但我是新手,所以我不是100%使用Java。如果利率如您所述为
.05375
,它将打印为
0.053
,并保留三位小数。如果它对您有效,则该数字实际上必须是
5.375
该“%”从何而来?
NumberFormat.getPercentInstance();