double类型保留小数点后两位的几种方法
返回double类型
返回double类型需要注意的是:如果结果为2020.10时,输出的值为2020.1,只保留了一位小数。
//四舍五入
double one = (double)Math.round(demo*100)/100;
System.out.println("Double,第一种方法的值为:" + one);
//BigDecimal.ROUND_HALF_UP表示四舍五入,BigDecimal.ROUND_HALF_DOWN表示五舍六入,
//BigDecimal.ROUND_UP表示进位处理(直接加1),BigDecimal.ROUND_DOWN表示直接去掉尾数。
BigDecimal bd = new BigDecimal(demo);
double two = bd.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println("Double,第二种方法的值为:" + two);
返回String类型
返回String类型的第一种方法和第二种方法比较常用。
需要注意的是,第三种方法的返回值,每隔一千会加一个“,”即2020.10的输出结果为2,020.1。
//#.00表示保留后两位,它的处理方式是直接截掉不要的尾数,不要四舍五入。
DecimalFormat df = new DecimalFormat("#.00");
String three = df.format(demo)