import org.springframework.stereotype.Component;
import java.math.BigDecimal;
/**
* @类描述: 一个工具类,为了保证计算准确性,将double之间的运算转换为BigDecimal之间的运算
*/
@Component
public class Mutil {
/**
* * @描述: 加法
* * @方法名: add
* * @param v1
* * @param v2
* * @return
* * @返回类型 double
*/
public static double add(double v1, double v2) {
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.add(b2).doubleValue();
}
/**
* * @描述: 减法
* * @方法名: subtract
* * @param v1
* * @param v2
* * @return
* * @返回类型 double
*/
public static double subtract(double v1, double v2) {
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.subtract(b2).doubleValue();
}
/**
* * @描述: 乘法
* * @方法名: mul
* * @param d1
* * @param d2
* * @return
* * @返回类型 double
*/
public static double multiply(double d1, double d2) {// 进行乘法运算
BigDecimal b1 = new BigDecimal(d1);
BigDecimal b2 = new BigDecimal(d2);
return b1.multiply(b2).doubleValue();
}
/**
* * @描述: 除法 ,四舍五入
* * @方法名: div
* * @param d1
* * @param d2
* * @param len ,保留的小数位数
* * @return
* * @返回类型 double
*/
public static double divide(double d1, double d2, int len) {// 进行除法运算
BigDecimal b1 = new BigDecimal(d1);
BigDecimal b2 = new BigDecimal(d2);
return b1.divide(b2, len, BigDecimal.ROUND_HALF_UP).doubleValue();
}
/**
* @param d1
* @param d2
* @return
* @描述: 除法,四舍五入取整数 ,例如:5/2=3(2.5四舍五入); 5/3=2(1.6四舍五入);
* @方法名: div
* @返回类型 double
*/
public static double divide(double d1, double d2) {// 进行除法运算
BigDecimal b1 = new BigDecimal(d1);
BigDecimal b2 = new BigDecimal(d2);
return b1.divide(b2, BigDecimal.ROUND_HALF_UP).doubleValue();
}
/**
* * @描述: 四舍五入
* * @方法名: round * @param d
* * @param len
* * @return
* * @返回类型 double
*/
public static double round(double d, int len) {
BigDecimal b1 = new BigDecimal(d);
BigDecimal b2 = new BigDecimal(1);
// 任何一个数字除以1都是原数字
// ROUND_HALF_UP是BigDecimal的一个常量,表示进行四舍五入的操作
return b1.divide(b2, len, BigDecimal.ROUND_HALF_UP).doubleValue();
}
}
文章来源地址https://www.toymoban.com/news/detail-546361.html
文章来源:https://www.toymoban.com/news/detail-546361.html
到了这里,关于【工具类】Java 加减乘除算法工具类的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!