Java百分比显示小数

时间:2012-02-08 08:35:19

标签: java

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

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

6 个答案:

答案 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%

这与你想要的相似吗?