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)));
// }
}
java金钱计算工具类Money
于 2024-05-13 11:28:34 首次发布