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