提供几种保留小数点后几位的新旧使用方法,废话不多说直接上方法代码
一:使用Math
/**
* 进行四舍五入操作
* @param num 原始数据
* @param scale 保留的位数
* @return 已经正确四舍五入后的数据内容
*/
public static double round(double num,int scale) {
return Math.round(num * Math.pow(10, scale)) / Math.pow(10, scale);
}
二:使用BigDecimal
/**
* 进行四舍五入操作
* @param num 原始数据
* @param scale 保留的位数
* @return 已经正确四舍五入后的数据内容
*/
public static double round(double num,int scale) {
return new BigDecimal(num)
.divide(new BigDecimal(1),scale,BigDecimal.ROUND_HALF_UP)
.doubleValue();
}
三:使用DecimalFormat
/**
* double类型保留两位小数
* @param d 原始数据
* @return 正确保留两位小数后的数据内容
*/
public static String decimalFormatDouble(double d) {
DecimalFormat format = new DecimalFormat("#.00");
return format.format(d);
}
四:使用String.format()方法
/**
* double类型保留两位小数
* @param d 原始数据
* @return 正确保留两位小数后的数据内容
*/
public static String stringFormatDouble(double d) {
return String.format("%.2f", d);
}