package com.nanjing.water.common.util;
|
|
import java.math.BigDecimal;
|
|
/**
|
* 金钱计算工具类
|
*/
|
|
public class MoneyUtil {
|
/**
|
* 加法
|
* @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).setScale(2, BigDecimal.ROUND_DOWN);
|
|
}
|
|
/**
|
* 减法
|
* @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).setScale(2, BigDecimal.ROUND_DOWN);
|
}
|
|
/**
|
* 除法
|
* @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_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).setScale(2, BigDecimal.ROUND_DOWN);
|
}
|
|
// 小于
|
public static boolean lt(BigDecimal v1,BigDecimal v2) {
|
return v1.compareTo(v2) == -1;
|
}
|
|
// 等于
|
public static boolean eq(BigDecimal v1,BigDecimal v2) {
|
return v1.compareTo(v2) == 0;
|
}
|
|
// 大于
|
public static boolean gt(BigDecimal v1,BigDecimal v2) {
|
return v1.compareTo(v2) == 1;
|
}
|
|
// 大于等于
|
public static boolean ge(BigDecimal v1,BigDecimal v2) {
|
return v1.compareTo(v2) > -1;
|
}
|
|
// 小于等于
|
public static boolean le(BigDecimal v1,BigDecimal v2) {
|
return v1.compareTo(v2) < 1;
|
}
|
|
/**
|
* 换算积分
|
* @param money
|
* @return
|
*/
|
public static Integer integral(BigDecimal money){
|
Integer integer=money.intValue()/10;
|
return integer;
|
}
|
|
// public static void main(String [] args){
|
// //加法
|
// BigDecimal jia=add(BigDecimal.valueOf(5.66),BigDecimal.valueOf(3.347));
|
// System.out.println("加法:"+jia);
|
// //减法
|
// BigDecimal jian=subtract(BigDecimal.valueOf(5.66),BigDecimal.valueOf(3.347));
|
// System.out.println("减法:"+jian);
|
// //乘法
|
// BigDecimal chen=multiply(BigDecimal.valueOf(5.66),BigDecimal.valueOf(3.347));
|
// System.out.println("乘法:"+chen);
|
// //除法
|
// BigDecimal chu=divide(BigDecimal.valueOf(5.66),BigDecimal.valueOf(3.347));
|
// System.out.println("积分:"+integral(BigDecimal.valueOf(101.88)));
|
// }
|
|
|
|
}
|