import java.math.BigDecimal;
public class DoubleArith {
public static double add(double augend, double addend) {
BigDecimal augendDecimal = new BigDecimal(Double.toString(augend));
BigDecimal addendDecimal = new BigDecimal(Double.toString(addend));
return augendDecimal.add(addendDecimal).doubleValue();
}
public static double subtract(double minuend, double subtrahend) {
BigDecimal minuendDecimal = new BigDecimal(Double.toString(minuend));
BigDecimal subtrahendDecimal = new BigDecimal(Double.toString(subtrahend));
return minuendDecimal.subtract(subtrahendDecimal).doubleValue();
}
public static double multiply(double multiplicand, double multiplier) {
BigDecimal multiplicandDecimal = new BigDecimal(Double.toString(multiplicand));
BigDecimal multiplierDecimal = new BigDecimal(Double.toString(multiplier));
return multiplicandDecimal.multiply(multiplierDecimal).doubleValue();
}
public static double divide(double dividend, double divisor, int scale) {
if (scale < 0) {
throw new IllegalArgumentException("The scale must be a positive integer or zero");
}
BigDecimal dividendDecimal = new BigDecimal(Double.toString(dividend));
BigDecimal divisorDecimal = new BigDecimal(Double.toString(divisor));
return dividendDecimal.divide(divisorDecimal, scale, BigDecimal.ROUND_HALF_UP).doubleValue();
}
public static double round(double originalNum, int scale) {
return divide(originalNum, 1.0D, scale);
}
}
Java double类型数据四则运算
最新推荐文章于 2024-07-12 15:51:39 发布