自己在计算费用时候,因为用了Double类型造成结果与期望值有偏差,所以改用decimal类型进行计算
一,decimal在java中的用BigDecimal表示
@Column(length=10 ,scale=2) // length表示长度 , scale表示小数点后位数
private BigDecimal money;
二,BigDecimal类型与string,Double类型的相互转换
1. String类型转成BigDecimal类型:
BigDecimal bd = new BigDecimal("xxx");
String str = bd.toString();
2.BigDecimal类型转成String类型:
BigDecimal bd = new BigDecimal("xxx");
String str = bd.toString();
3.将double类型转化为BigDecimal
Double a=1.23;
BigDecimal c = BigDecimal.valueOf(a);
不能使用:
BigDecimal decimal= new BigDecimal(a);
4.将BigDecimal类型转化为double
BigDecimal bd;
double d = bd.doubleValue();
三,BigDecimal操作运算加减乘除
BigDecimal num1 = new BigDecimal("100");
BigDecimal num2 = new BigDecimal("50");
//加法
BigDecimal result1 = num1.add(num2);
//减法
BigDecimal result2 = num1.subtract(num2);
//乘法
BigDecimal result3 = num1.multiply(num2);
//除法
BigDecimal result4 = num1.divide(num2);