double类型保留两位小数

如何将double数据输出为直接截取保留两位小数的字符串?

解决方法:用BigDecimal类做高精度计算。

  Double dd=0.97698;

BigDecimal  x=new BigDecimal(dd).setScale(2,BigDecimal.ROUND_DOWN);

 String value = String.valueOf(x); 

System.out.println(value);

输出结果:0.97

setScale(1,BigDecimal.ROUND_DOWN)直接删除多余的小数位
setScale(1,BigDecimal.ROUND_UP)进位处理
setScale(1,BigDecimal.ROUND_HALF_UP)四舍五入

如何将double格式化输出?

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

String value =String.valueOf(df.format(dd));

System.out.println(value);

输出结果:1.00

另外,Math.floor(Double a)向下取整

          Math.ceil(Double a)向上取整

         Math.round(Double a)四舍五入

你可能感兴趣的:(java)