All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.xiongyingqi.common.utils.arith.Arith Maven / Gradle / Ivy

The newest version!
package com.xiongyingqi.common.utils.arith;

import java.math.BigDecimal;

/**
 */
public abstract class Arith {

  /**
   * 四舍五入除法
   *
   * @param dividend 被除数
   * @param divisor  除数
   * @return 结果
   */
  public static BigDecimal divide(BigDecimal dividend, BigDecimal divisor) {
    return divide(dividend, divisor, 2);
  }

  /**
   * 四舍五入除法
   *
   * @param dividend 被除数
   * @param divisor  除数
   * @return 结果
   */
  public static BigDecimal divide(BigDecimal dividend, BigDecimal divisor, int scale) {
    BigDecimal result = dividend.divide(divisor, scale, BigDecimal.ROUND_HALF_UP);
    return result;
  }

  /**
   * 加法
   *
   * @param addend 加数
   * @param augend 被加数
   * @return 结果
   */
  public static BigDecimal add(BigDecimal addend, BigDecimal augend, int scale) {
    BigDecimal result = addend.add(augend);
    result = result.setScale(scale, BigDecimal.ROUND_HALF_UP);
    return result;
  }

  /**
   * 减法
   *
   * @param minuend    被减数
   * @param subtrahend 减数
   * @return 结果
   */
  public static BigDecimal subtract(BigDecimal minuend, BigDecimal subtrahend, int scale) {
    BigDecimal result = minuend.subtract(subtrahend);
    result = result.setScale(scale, BigDecimal.ROUND_HALF_UP);
    return result;
  }

  /**
   * 乘法
   *
   * @param multiplier   乘数
   * @param multiplicand 被乘数
   * @return 结果
   */
  public static BigDecimal multiply(BigDecimal multiplier, BigDecimal multiplicand, int scale) {
    BigDecimal result = multiplier.multiply(multiplicand);
    result = result.setScale(scale, BigDecimal.ROUND_HALF_UP);
    return result;
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy