在Java中打印带有2个小数位的整数

时间:2012-10-20 16:31:14

标签: java format number-formatting output

在我的代码中我使用整数乘以100作为小数(0.1是10等)。你能帮我格式化输出以显示为十进制吗?

7 个答案:

答案 0 :(得分:27)

int x = 100;
DecimalFormat df = new DecimalFormat("#.00"); // Set your desired format here.
System.out.println(df.format(x/100.0));

答案 1 :(得分:10)

我会说使用0.00作为格式:

      int myNumber = 10;
      DecimalFormat format = new DecimalFormat("0.00"); 
      System.out.println(format.format(myNumber));

它将打印如下:

      10.00

这里的优点是:

如果您愿意:

      double myNumber = .1;
      DecimalFormat format = new DecimalFormat("0.00"); 
      System.out.println(format.format(myNumber));

它将打印如下:

      0.10

答案 2 :(得分:5)

您可以通过除以它们的因子(作为双精度)

来打印出作为整数编码的十进制数
int i = 10; // represents 0.10
System.out.println(i / 100.0);

打印

0.1

如果您需要始终显示两位小数,则可以使用

System.out.printf("%.2f", i / 100.0);

答案 3 :(得分:1)

你可以试试这个: -

new DecimalFormat("0.00######");

NumberFormat f = NumberFormat.getNumberInstance();
f.setMinimumFractionDigits(2);

答案 4 :(得分:0)

你可以使用int的double instate。 它为您提供带小数的输出。 然后你可以用100除。

答案 5 :(得分:0)

你可以使用int的double instate。 它为您提供带小数的输出。

如果你想要数字站在点后面。你可以用这个:

**int number=100;
double result;
result=number/(number.length-1);**

我希望你能用这个。

答案 6 :(得分:0)

基于another answer,使用BigDecimal,这也有效:

BigDecimal v = BigDecimal.valueOf(10,2);
System.out.println(v.toString());
System.out.println(v.toPlainString());
System.out.println(String.format("%.2f", v));
System.out.printf("%.2f\n",v);

即使您的好DecimalFormat也适用于BigDecimal

DecimalFormat df = new DecimalFormat("0.00");
System.out.println(df.format(v));