在Java开发过程中,通常会涉及到金额内容的存储,通常我们设计数据库的时候会选择decimal类型,方便调整保留的小数位,常用的加减乘除方法如下:
/**
* @ClassName: RentUtil
* @Description: 金钱计算工具类
* @author slh
* @date 2018年11月15日 下午4:57:57
*/
public class RentUtil {
/**
* 加法
* @param v1
* @param v2
* @return
*/
public static BigDecimal add(BigDecimal v1,BigDecimal v2){
if(v1 == null || "".equals(v1)){
v1 = new BigDecimal(0);
}else if(v2 == null || "".equals(v2)){
v2 = new BigDecimal(0);
}
return v1.add(v2);
}
/**
* 减法
* @param v1
* @param v2
* @return
*/
public static BigDecimal subtract(BigDecimal v1,BigDecimal v2){
if(v1 == null || "".equals(v1)){
v1 = new BigDecimal(0);
}else if(v2 == null || "".equals(v2)){
v2 = new BigDecimal(0);
}
return v1.subtract(v2);
}
/**
* 除法
* @param v1
* @param v2
* @return
*/
public static BigDecimal divide(BigDecimal v1,BigDecimal v2){
if(v1 == null || "".equals(v1)){
v1 = new BigDecimal(0);
}else if(v2 == null || "".equals(v2)){
v2 = new BigDecimal(0);
}
// 暂时不算负数的情况
int i = v2.compareTo(new BigDecimal(0));
if(i == 0){
return new BigDecimal(0);
}
return v1.divide(v2, 2, BigDecimal.ROUND_HALF_DOWN);
}
/**
* 乘法
* @param v1
* @param v2
* @return
*/
public static BigDecimal multiply(BigDecimal v1,BigDecimal v2){
if(v1 == null || "".equals(v1)){
v1 = new BigDecimal(0);
}else if(v2 == null || "".equals(v2)){
v2 = new BigDecimal(0);
}
return v1.multiply(v2);
}
}