BigDecimal的应用,BigDecimal是对大数据进行处理的,double类型可以存储大数据,但是会以E7的形式显示,如果直接显示在页面是用户看不懂的,这是可以把double转成BigDecimal,具体方法如下:
代码:BigDecimal gigDecimal = new BigDecimal(data);
gigDecimal.setScale(decimal , BigDecimal.ROUND_HALF_UP);
/**
* 把double转成BigDecimal
* @param data 需要转换的double数据
* @param decimal 需要保留的小数位数
* @return
*/
public static BigDecimal setDoubleToDecimal(double data, int decimal ) {
BigDecimal bgigDecimal = new BigDecimal(data);
return bgigDecimal.setScale(decimal , BigDecimal.ROUND_HALF_UP);
}
setScale(1)表示保留一位小数,默认用四舍五入方式
setScale(1,BigDecimal.ROUND_DOWN)直接删除多余的小数位,如2.35会变成2.3
setScale(1,BigDecimal.ROUND_UP)进位处理,2.35变成2.4
setScale(1,BigDecimal.ROUND_HALF_UP)四舍五入,2.35变成2.4
setScale(1,BigDecimal.ROUND_DOWN)直接删除多余的小数位,如2.35会变成2.3
setScale(1,BigDecimal.ROUND_UP)进位处理,2.35变成2.4
setScale(1,BigDecimal.ROUND_HALF_UP)四舍五入,2.35变成2.4
setScaler(1,BigDecimal.ROUND_HALF_DOWN)四舍五入,2.35变成2.3,如果是5则向下舍