Commit bb4f1f5b authored by yanzg's avatar yanzg

Merge branch 'ver1.1' of http://192.168.0.204/yzg/yzg-util

parents 4bc0923f 1edc95d9
package com.yanzuoguang.util.helper;
import java.math.BigDecimal;
import java.math.RoundingMode;
/**
* 浮点数计算
......@@ -14,9 +15,9 @@ public class CalcHelper {
/**
* 相加
*
* @param d1
* @param d2
* @return
* @param d1 参数1
* @param d2 参数2
* @return 结果
*/
public static double add(double d1, double d2) {
BigDecimal b1 = new BigDecimal(Double.toString(d1));
......@@ -27,9 +28,20 @@ public class CalcHelper {
/**
* 相加
*
* @param d1
* @param d2
* @return
* @param d1 参数1
* @param d2 参数2
* @return 结果
*/
public static double addDouble(Double d1, Double d2) {
return add(StringHelper.toDouble(d1), StringHelper.toDouble(d2));
}
/**
* 相加
*
* @param d1 参数1
* @param d2 参数2
* @return 结果
*/
public static double addList(double d1, double... d2) {
double ret = d1;
......@@ -39,12 +51,27 @@ public class CalcHelper {
return ret;
}
/**
* 相加
*
* @param d1 参数1
* @param d2 参数2
* @return 结果
*/
public static double addListDouble(Double d1, Double... d2) {
double ret = d1;
for (double item : d2) {
ret = add(ret, item);
}
return ret;
}
/**
* 相减
*
* @param d1
* @param d2
* @return
* @param d1 参数1
* @param d2 参数2
* @return 结果
*/
public static double sub(double d1, double d2) {
BigDecimal b1 = new BigDecimal(Double.toString(d1));
......@@ -55,9 +82,20 @@ public class CalcHelper {
/**
* 相减
*
* @param d1
* @param d2
* @return
* @param d1 参数1
* @param d2 参数2
* @return 结果
*/
public static double subDouble(Double d1, Double d2) {
return sub(StringHelper.toDouble(d1), StringHelper.toDouble(d2));
}
/**
* 相减
*
* @param d1 参数1
* @param d2 参数2
* @return 结果
*/
public static double subList(double d1, double... d2) {
double ret = d1;
......@@ -67,12 +105,27 @@ public class CalcHelper {
return ret;
}
/**
* 相减
*
* @param d1 参数1
* @param d2 参数2
* @return 结果
*/
public static double subListDouble(Double d1, Double... d2) {
double ret = d1;
for (double item : d2) {
ret = sub(ret, item);
}
return ret;
}
/**
* 相乘
*
* @param d1
* @param d2
* @return
* @param d1 参数1
* @param d2 参数2
* @return 结果
*/
public static double mul(double d1, double d2) {
BigDecimal b1 = new BigDecimal(Double.toString(d1));
......@@ -83,9 +136,20 @@ public class CalcHelper {
/**
* 相乘
*
* @param d1
* @param d2
* @return
* @param d1 参数1
* @param d2 参数2
* @return 结果
*/
public static double mulDouble(Double d1, Double d2) {
return mul(StringHelper.toDouble(d1), StringHelper.toDouble(d2));
}
/**
* 相乘
*
* @param d1 参数1
* @param d2 参数2
* @return 结果
*/
public static double mulList(double d1, double... d2) {
double ret = d1;
......@@ -95,12 +159,27 @@ public class CalcHelper {
return ret;
}
/**
* 相乘
*
* @param d1 参数1
* @param d2 参数2
* @return 结果
*/
public static double mulListDouble(Double d1, Double... d2) {
double ret = d1;
for (double item : d2) {
ret = mul(ret, item);
}
return ret;
}
/**
* 相除
*
* @param d1
* @param d2
* @return
* @param d1 参数1
* @param d2 参数2
* @return 结果
*/
public static double div(double d1, double d2) {
return div(d1, d2, DEF_DIV_SCALE);
......@@ -109,10 +188,21 @@ public class CalcHelper {
/**
* 相除
*
* @param d1
* @param d2
* @param scale
* @return
* @param d1 参数1
* @param d2 参数2
* @return 结果
*/
public static double divDouble(Double d1, Double d2) {
return div(StringHelper.toDouble(d1), StringHelper.toDouble(d2));
}
/**
* 相除
*
* @param d1 参数1
* @param d2 参数2
* @param scale 保留小数
* @return 结果
*/
public static double div(double d1, double d2, int scale) {
if (scale < 0) {
......@@ -120,15 +210,27 @@ public class CalcHelper {
}
BigDecimal b1 = new BigDecimal(Double.toString(d1));
BigDecimal b2 = new BigDecimal(Double.toString(d2));
return b1.divide(b2, scale, BigDecimal.ROUND_HALF_UP).doubleValue();
return b1.divide(b2, scale, RoundingMode.HALF_UP).doubleValue();
}
/**
* 相除
*
* @param d1
* @param d2
* @return
* @param d1 参数1
* @param d2 参数2
* @param scale 保留小数
* @return 结果
*/
public static double divDouble(Double d1, Double d2, int scale) {
return div(StringHelper.toDouble(d1), StringHelper.toDouble(d2), scale);
}
/**
* 相除
*
* @param d1 参数1
* @param d2 参数2
* @return 结果
*/
public static double divList(double d1, double... d2) {
double ret = d1;
......@@ -138,6 +240,21 @@ public class CalcHelper {
return ret;
}
/**
* 相除
*
* @param d1 参数1
* @param d2 参数2
* @return 结果
*/
public static double divListDouble(Double d1, Double... d2) {
double ret = d1;
for (double item : d2) {
ret = div(ret, item);
}
return ret;
}
/**
* 转换为金额
......@@ -167,9 +284,9 @@ public class CalcHelper {
/**
* 判断是否相等
*
* @param d1
* @param d2
* @return
* @param d1 参数1
* @param d2 参数2
* @return 结果
*/
public static boolean equals(double d1, double d2) {
BigDecimal b1 = new BigDecimal(Double.toString(d1));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment