输入为xx.x时,DecimalFormat无法正常工作

时间:2013-07-16 07:55:01

标签: java decimalformat

我有以下代码DecimalFormat

import java.util.*;
import java.lang.*;
import java.text.*;

class Main
{
    public static void main (String[] args) throws java.lang.Exception
    {
        double d = 50.12345;
        DecimalFormat df = new DecimalFormat("#.##");
        System.out.println(df.format(d));

        d = 50.0;
        df = new DecimalFormat("#.##");
        System.out.println(df.format(d));

        d = (double) (1*1.000/Integer.parseInt(2+"")/1.000*100);
        df = new DecimalFormat("#.##");
        System.out.print(df.format(d));

        }
}

这给我输出如下。

50.12
50
50

我面临的问题是第二个数字。我想把它打印成50.00。

任何想法我怎么能这样做?

Demo

2 个答案:

答案 0 :(得分:7)

使用0.00作为格式。 #表示可选数字。

您可以在此处找到所有格式代码及其含义:http://docs.oracle.com/javase/7/docs/api/java/text/DecimalFormat.html

答案 1 :(得分:2)

使用此

    double d = 50.12345;
    DecimalFormat df = new DecimalFormat("0.00");
    System.out.println(df.format(d));
    d = 50.0;
    System.out.print(df.format(d));