现象:
将double保留小数
方法:
1:使用DecimalFormat转换、返回的是String字符串类型
2:使用函数
3:使用BigDecimal、BigDecimal.ROUND_HALF_UP:表示四舍五入、前面数字表示保留位数
4: %.2f、%.4f表示保留小数
代码:
/**
* 1.使用DecimalFormat转换
* 返回的是String字符串类型
*/
double a=122.25138;
DecimalFormat df2 = new DecimalFormat("#.00");
DecimalFormat df4 = new DecimalFormat("#.0000");
String a1=df2.format(a);
String a2=df4.format(a);
System.out.println(a1); //保留两位小数
System.out.println(a2); //保留四位小数
/**
* 使用函数
*/
double b=122.25138;
double d = (double) Math.round(b * 100) / 100;
System.out.println(d);
double c=122.25638;
double e = (double) Math.round(c * 100) / 100;
System.out.println(e);
/**
* 使用BigDecimal
* BigDecimal.ROUND_HALF_UP:表示四舍五入
* 前面数字表示保留位数
*/
double f=122.25138;
BigDecimal g = new BigDecimal(f);
double h = g.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(h);
double h2 = g.setScale(4,BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(h2);
/**
* %.2f、%.4f表示保留小数
*/
double d = 122.35338;
String d1 = String.format("%.2f", d);
String d2 = String.format("%.4f", d);
System.out.println(d1);
System.out.println(d2);