我今天写了一个程序,我需要在输出中显示百分比,但如果我输入的是.05375,我需要它显示为5.375% 我以为我可以通过使用NumberFormat来做到这一点,但我的最终显示只是5%。有没有办法让它显示小数?或者我将如何编码呢?该程序正常运行,只需要一个输出需要不同的格式。 以下是我现在为该行代码输出的内容。
System.out.println("Interest Rate: " + percent.format(InterestRate));
答案 0 :(得分:12)
您可以使用Java中的NumberFormat来实现。以下是示例代码:
NumberFormat numberFormat = NumberFormat.getNumberInstance();
numberFormat.setMinimumFractionDigits(3);
System.out.println("Interest Rate: " + numberFormat.format(InterestRate));
更好的方法是将NumberFormat与Locale一起使用,如下所示:
NumberFormat numberFormat = NumberFormat.getNumberInstance(someLocale);
答案 1 :(得分:7)
怎么样
System.out.printf("Interest Rate: %.3f%%%n", 100 * InterestRate);
答案 2 :(得分:6)
如果您使用%
格式,则会将该数字乘以100
:
new DecimalFormat("%#0.000").format(rate);
答案 3 :(得分:1)
选择的答案是正确的,但请务必使用
NumberFormat.getPercentInstance();
这将有助于处理百分比。没有必要的附加字符串连接或格式化。
答案 4 :(得分:0)
使用:String.format();
有关格式规范,请参阅文档。
答案 5 :(得分:0)
double myVal = 0.05375
System.out.println("Interest Rate: " + (myVal*100) + "%" );
这应该给你5.375%
这与你想要的相似吗?