package cn.huge.base.common.utils;
|
|
import java.math.BigDecimal;
|
|
/**
|
* @title: 数字工具类
|
* @description: 数字工具类
|
* @company: hugeinfo
|
* @author: liyj
|
* @time: 2021-11-05 16:51:48
|
* @version: 1.0.0
|
*/
|
public class NumberUtils {
|
|
/**
|
* 两个Double数相除,并保留scale位小数(四舍五入)
|
* @param v1 Double数字1
|
* @param v2 Double数字1
|
* @param scale 位数
|
* @return Double
|
*/
|
public static Double div(Double v1, Double v2, int scale){
|
if(scale<0){
|
throw new IllegalArgumentException("保留位数必须大于等于0");
|
}
|
BigDecimal b1 = new BigDecimal(v1.toString());
|
BigDecimal b2 = new BigDecimal(v2.toString());
|
return b1.divide(b2,scale,BigDecimal.ROUND_HALF_UP).doubleValue();
|
}
|
|
/**
|
* Double除以Integer,并保留scale位小数(四舍五入)
|
* @param v1 Double数字1
|
* @param v2 Integer数字2
|
* @param scale 位数
|
* @return Double
|
*/
|
public static Double div(Double v1,Integer v2,int scale){
|
if(scale<0){
|
throw new IllegalArgumentException("保留位数必须大于等于0");
|
}
|
BigDecimal b1 = new BigDecimal(v1.toString());
|
BigDecimal b2 = new BigDecimal(v2.toString());
|
return b1.divide(b2,scale,BigDecimal.ROUND_HALF_UP).doubleValue();
|
}
|
|
/**
|
* 两个Integer数相除,并保留scale位小数(四舍五入)
|
* @param v1 Integer数字1
|
* @param v2 Integer数字1
|
* @param scale 位数
|
* @return Double
|
*/
|
public static Double div(Integer v1, Integer v2, int scale){
|
if(scale<0){
|
throw new IllegalArgumentException("保留位数必须大于等于0");
|
}
|
BigDecimal b1 = new BigDecimal(v1.toString());
|
BigDecimal b2 = new BigDecimal(v2.toString());
|
return b1.divide(b2,scale,BigDecimal.ROUND_HALF_UP).doubleValue();
|
}
|
|
/**
|
* 保留scale位小数(四舍五入)
|
* @param v1 Double数字1
|
* @param scale 位数
|
* @return Double
|
*/
|
public static Double scale(Double v1, int scale){
|
if(scale<0){
|
throw new IllegalArgumentException("保留位数必须大于等于0");
|
}
|
BigDecimal b1 = new BigDecimal(v1.toString());
|
return b1.setScale(scale,BigDecimal.ROUND_HALF_UP).doubleValue();
|
}
|
|
|
}
|
/**
|
* -------------------_ooOoo_-------------------
|
* ------------------o8888888o------------------
|
* ------------------88" . "88------------------
|
* ------------------(| -_- |)------------------
|
* ------------------O\ = /O------------------
|
* ---------------____/`---'\____---------------
|
* -------------.' \\| |// `.-------------
|
* ------------/ \\||| : |||// \------------
|
* -----------/ _||||| -:- |||||- \-----------
|
* -----------| | \\\ - /// | |-----------
|
* -----------| \_| ''\---/'' | |-----------
|
* -----------\ .-\__ `-` ___/-. /-----------
|
* ---------___`. .' /--.--\ `. . __----------
|
* ------."" '< `.___\_<|>_/___.' >'"".-------
|
* -----| | : `- \`.;`\ _ /`;.`/ - ` : | |-----
|
* -----\ \ `-. \_ __\ /__ _/ .-` / /-----
|
* ======`-.____`-.___\_____/___.-`____.-'======
|
* -------------------`=---='
|
* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
* ---------佛祖保佑---hugeinfo---永无BUG----------
|
*/
|