Commit ce574db1 authored by yanzg's avatar yanzg

升级新版本

parent acef36f1
package com.yanzuoguang.util.helper; package com.yanzuoguang.util.helper;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode;
/** /**
* 浮点数计算 * 浮点数计算
...@@ -14,9 +15,9 @@ public class CalcHelper { ...@@ -14,9 +15,9 @@ public class CalcHelper {
/** /**
* 相加 * 相加
* *
* @param d1 * @param d1 参数1
* @param d2 * @param d2 参数2
* @return * @return 结果
*/ */
public static double add(double d1, double d2) { public static double add(double d1, double d2) {
BigDecimal b1 = new BigDecimal(Double.toString(d1)); BigDecimal b1 = new BigDecimal(Double.toString(d1));
...@@ -27,9 +28,20 @@ public class CalcHelper { ...@@ -27,9 +28,20 @@ public class CalcHelper {
/** /**
* 相加 * 相加
* *
* @param d1 * @param d1 参数1
* @param d2 * @param d2 参数2
* @return * @return 结果
*/
public static double add(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) { public static double addList(double d1, double... d2) {
double ret = d1; double ret = d1;
...@@ -39,12 +51,27 @@ public class CalcHelper { ...@@ -39,12 +51,27 @@ public class CalcHelper {
return ret; return ret;
} }
/**
* 相加
*
* @param d1 参数1
* @param d2 参数2
* @return 结果
*/
public static double addList(Double d1, Double... d2) {
double ret = d1;
for (double item : d2) {
ret = add(ret, item);
}
return ret;
}
/** /**
* 相减 * 相减
* *
* @param d1 * @param d1 参数1
* @param d2 * @param d2 参数2
* @return * @return 结果
*/ */
public static double sub(double d1, double d2) { public static double sub(double d1, double d2) {
BigDecimal b1 = new BigDecimal(Double.toString(d1)); BigDecimal b1 = new BigDecimal(Double.toString(d1));
...@@ -55,9 +82,20 @@ public class CalcHelper { ...@@ -55,9 +82,20 @@ public class CalcHelper {
/** /**
* 相减 * 相减
* *
* @param d1 * @param d1 参数1
* @param d2 * @param d2 参数2
* @return * @return 结果
*/
public static double sub(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) { public static double subList(double d1, double... d2) {
double ret = d1; double ret = d1;
...@@ -67,12 +105,27 @@ public class CalcHelper { ...@@ -67,12 +105,27 @@ public class CalcHelper {
return ret; return ret;
} }
/**
* 相减
*
* @param d1 参数1
* @param d2 参数2
* @return 结果
*/
public static double subList(Double d1, Double... d2) {
double ret = d1;
for (double item : d2) {
ret = sub(ret, item);
}
return ret;
}
/** /**
* 相乘 * 相乘
* *
* @param d1 * @param d1 参数1
* @param d2 * @param d2 参数2
* @return * @return 结果
*/ */
public static double mul(double d1, double d2) { public static double mul(double d1, double d2) {
BigDecimal b1 = new BigDecimal(Double.toString(d1)); BigDecimal b1 = new BigDecimal(Double.toString(d1));
...@@ -83,9 +136,20 @@ public class CalcHelper { ...@@ -83,9 +136,20 @@ public class CalcHelper {
/** /**
* 相乘 * 相乘
* *
* @param d1 * @param d1 参数1
* @param d2 * @param d2 参数2
* @return * @return 结果
*/
public static double mul(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) { public static double mulList(double d1, double... d2) {
double ret = d1; double ret = d1;
...@@ -95,12 +159,27 @@ public class CalcHelper { ...@@ -95,12 +159,27 @@ public class CalcHelper {
return ret; return ret;
} }
/**
* 相乘
*
* @param d1 参数1
* @param d2 参数2
* @return 结果
*/
public static double mulList(Double d1, Double... d2) {
double ret = d1;
for (double item : d2) {
ret = mul(ret, item);
}
return ret;
}
/** /**
* 相除 * 相除
* *
* @param d1 * @param d1 参数1
* @param d2 * @param d2 参数2
* @return * @return 结果
*/ */
public static double div(double d1, double d2) { public static double div(double d1, double d2) {
return div(d1, d2, DEF_DIV_SCALE); return div(d1, d2, DEF_DIV_SCALE);
...@@ -109,10 +188,21 @@ public class CalcHelper { ...@@ -109,10 +188,21 @@ public class CalcHelper {
/** /**
* 相除 * 相除
* *
* @param d1 * @param d1 参数1
* @param d2 * @param d2 参数2
* @param scale * @return 结果
* @return */
public static double div(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) { public static double div(double d1, double d2, int scale) {
if (scale < 0) { if (scale < 0) {
...@@ -120,15 +210,27 @@ public class CalcHelper { ...@@ -120,15 +210,27 @@ public class CalcHelper {
} }
BigDecimal b1 = new BigDecimal(Double.toString(d1)); BigDecimal b1 = new BigDecimal(Double.toString(d1));
BigDecimal b2 = new BigDecimal(Double.toString(d2)); 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 d1 参数1
* @param d2 * @param d2 参数2
* @return * @param scale 保留小数
* @return 结果
*/
public static double div(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) { public static double divList(double d1, double... d2) {
double ret = d1; double ret = d1;
...@@ -138,6 +240,21 @@ public class CalcHelper { ...@@ -138,6 +240,21 @@ public class CalcHelper {
return ret; return ret;
} }
/**
* 相除
*
* @param d1 参数1
* @param d2 参数2
* @return 结果
*/
public static double divList(Double d1, Double... d2) {
double ret = d1;
for (double item : d2) {
ret = div(ret, item);
}
return ret;
}
/** /**
* 转换为金额 * 转换为金额
...@@ -167,9 +284,9 @@ public class CalcHelper { ...@@ -167,9 +284,9 @@ public class CalcHelper {
/** /**
* 判断是否相等 * 判断是否相等
* *
* @param d1 * @param d1 参数1
* @param d2 * @param d2 参数2
* @return * @return 结果
*/ */
public static boolean equals(double d1, double d2) { public static boolean equals(double d1, double d2) {
BigDecimal b1 = new BigDecimal(Double.toString(d1)); 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