Double去掉小数点后末尾的0

阅读更多

1.    private Object formatZero(double num){

if(num % 1.0 == 0){

return (long)num;

}

return num;

}

 

2.Double E输出

         Double d = 5.7657567575757E13;

System.out.println(d.toString());

System.out.println(String.valueOf(d));

System.out.println(d.doubleValue());

 

5.7657567575757E13

5.7657567575757E13

5.7657567575757E13

 

    double dd = new BigDecimal(d).setScale(2, BigDecimal.ROUND_HALF_DOWN).doubleValue();

-->57657567575757

 

3.

      Double d = 5.7657567575757E14;
        System.out.println("d:="+d);
        java.text.NumberFormat df = java.text.NumberFormat.getInstance();
        //DecimalFormat df=(DecimalFormat) NumberFormat.getInstance();
        df.setGroupingUsed(false);
        System.out.println("d:="+df.format(d));

 显示结果是:

 

 d:=5.7657567575757E14

d:=576575675757570

 

主要使用的类:java.text.DecimalFormat

  1。实例化对象,可以用如下两种方法:

  DecimalFormat df=(DecimalFormat)NumberFormat.getInstance();

  DecimalFormat df1=(DecimalFormat) DecimalFormat.getInstance();

  因为DecimalFormat继承自NumberFormat。

  2。设定小数位数

  系统默认小数位数为3,如:

  DecimalFormat df=(DecimalFormat)NumberFormat.getInstance();

  System.out.println(df.format(12.3456789));

  输出:12.346

  现在可以通过如下方法把小数为设为两位:

  df.setMaximumFractionDigits(2);

  System.out.println(df.format(12.3456789));

  则输出为:12.35

 

 

你可能感兴趣的:(Double去掉小数点后末尾的0)