Java保留小数问题

import java.io.*;
import java.math.*;
import java.text.NumberFormat;
import java.util.*;

public class Main {

    public static void main(String[] argc) {
        Scanner cin = new Scanner(System.in);
        while (cin.hasNext()) {
            BigDecimal d = cin.nextBigDecimal();
            // 方式一
            java.text.DecimalFormat df = new java.text.DecimalFormat("#.00");
            System.out.println(df.format(d.doubleValue()));
            // 方式二
            double f = d.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
            System.out.println(f);
            //方式三
            NumberFormat ddf=NumberFormat.getNumberInstance();
            ddf.setMaximumFractionDigits(2);
            String s=ddf.format(d.doubleValue());
            System.out.println(s);
            //方法四(推荐)
            System.out.printf("%.6f\n",d.doubleValue());
        }
    }

}

 

posted on 2015-11-27 22:16  13rj1115  阅读(185)  评论(0)    收藏  举报

导航