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))); // } }