3 changed files with 94 additions and 5 deletions
@ -0,0 +1,80 @@ |
|||
package com.yxt.yythmall.utils; |
|||
|
|||
import java.math.BigDecimal; |
|||
|
|||
/** |
|||
* @author wangpengfei |
|||
* @date 2024/1/24 8:53 |
|||
*/ |
|||
public class DoubleUtils { |
|||
|
|||
/** |
|||
* 对double数据进行取精度. |
|||
* @param value double数据. |
|||
* @param scale 精度位数(保留的小数位数). |
|||
* @param roundingMode 精度取值方式. |
|||
* @return 精度计算后的数据. |
|||
*/ |
|||
public static double round(double value, int scale, |
|||
int roundingMode) { |
|||
BigDecimal bd = BigDecimal.valueOf(value); |
|||
bd = bd.setScale(scale, roundingMode); |
|||
double d = bd.doubleValue(); |
|||
bd = null; |
|||
return d; |
|||
} |
|||
|
|||
|
|||
/** |
|||
* double 相加 |
|||
* @param d1 |
|||
* @param d2 |
|||
* @return |
|||
*/ |
|||
public static double sum(double d1,double d2){ |
|||
BigDecimal bd1 = BigDecimal.valueOf(d1); |
|||
BigDecimal bd2 = BigDecimal.valueOf(d2); |
|||
return bd1.add(bd2).doubleValue(); |
|||
} |
|||
|
|||
|
|||
/** |
|||
* double 相减 |
|||
* @param d1 |
|||
* @param d2 |
|||
* @return |
|||
*/ |
|||
public static double sub(double d1,double d2){ |
|||
BigDecimal bd1 = BigDecimal.valueOf(d1); |
|||
BigDecimal bd2 = BigDecimal.valueOf(d2); |
|||
return bd1.subtract(bd2).doubleValue(); |
|||
} |
|||
|
|||
/** |
|||
* double 乘法 |
|||
* @param d1 |
|||
* @param d2 |
|||
* @return |
|||
*/ |
|||
public static double mul(double d1, double d2){ |
|||
BigDecimal bd1 = BigDecimal.valueOf(d1); |
|||
BigDecimal bd2 = BigDecimal.valueOf(d2); |
|||
return bd1.multiply(bd2).doubleValue(); |
|||
} |
|||
|
|||
|
|||
/** |
|||
* double 除法 |
|||
* @param d1 |
|||
* @param d2 |
|||
* @param scale 四舍五入 小数点位数 |
|||
* @return |
|||
*/ |
|||
public static double div(double d1,double d2,int scale){ |
|||
BigDecimal bd1 = BigDecimal.valueOf(d1); |
|||
BigDecimal bd2 = BigDecimal.valueOf(d2); |
|||
return bd1.divide |
|||
(bd2,scale,BigDecimal.ROUND_HALF_UP).doubleValue(); |
|||
} |
|||
|
|||
} |
Loading…
Reference in new issue