diff --git a/pom.xml b/pom.xml
index 934e132..e29df33 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
com.irrigation
common-lib
- 2.0.5
+ 2.0.6
UTF-8
diff --git a/src/main/java/com/irrigation/icl/utils/DoubleValueUtils.java b/src/main/java/com/irrigation/icl/utils/DoubleValueUtils.java
index 0676e57..86f7735 100644
--- a/src/main/java/com/irrigation/icl/utils/DoubleValueUtils.java
+++ b/src/main/java/com/irrigation/icl/utils/DoubleValueUtils.java
@@ -2,7 +2,9 @@ package com.irrigation.icl.utils;
import com.irrigation.icl.exception.ContextRuntimeException;
+import javax.annotation.Nonnull;
import java.math.BigDecimal;
+import java.util.Objects;
import java.util.Optional;
/**
@@ -17,11 +19,23 @@ public final class DoubleValueUtils {
*/
private final static int SCALE = 4;
+
+ /**
+ * Double 0.0
+ */
+ public final static Double DOUBLE_ZERO = Double.valueOf(0.0d);
+
+ /**
+ * double 0.0
+ */
+ public final static double ZERO = 0.0d;
+
+
private DoubleValueUtils() {
}
/**
- * 计算两个浮点数之和
+ * 计算两个浮点数之和s
*
* @param value 加数
* @param addValue 被加数
@@ -29,8 +43,8 @@ public final class DoubleValueUtils {
* @Author: yangLang
*/
public static double doubleAdd(Double value, Double addValue) {
- value = Optional.ofNullable(value).orElse(0.0);
- addValue = Optional.ofNullable(addValue).orElse(0.0);
+ value = Optional.ofNullable(value).orElse(DOUBLE_ZERO);
+ addValue = Optional.ofNullable(addValue).orElse(DOUBLE_ZERO);
return new BigDecimal(value.toString()).add(new BigDecimal(addValue.toString()))
.setScale(SCALE, BigDecimal.ROUND_HALF_UP)
.doubleValue();
@@ -46,8 +60,8 @@ public final class DoubleValueUtils {
* @Author: yangLang
*/
public static double doubleAdd(Double value, Double addValue, int scale) {
- value = Optional.ofNullable(value).orElse(0.0);
- addValue = Optional.ofNullable(addValue).orElse(0.0);
+ value = Optional.ofNullable(value).orElse(DOUBLE_ZERO);
+ addValue = Optional.ofNullable(addValue).orElse(DOUBLE_ZERO);
return new BigDecimal(value.toString()).add(new BigDecimal(addValue.toString()))
.setScale(scale, BigDecimal.ROUND_HALF_UP)
.doubleValue();
@@ -59,11 +73,11 @@ public final class DoubleValueUtils {
* @param value 减数
* @param subValue 被减数
* @return 返回结果四舍五入,保留4位小数
- * @Author: yangLang
+ * @author: yangLang
*/
public static double doubleSub(Double value, Double subValue) {
- value = Optional.ofNullable(value).orElse(0.0);
- subValue = Optional.ofNullable(subValue).orElse(0.0);
+ value = Optional.ofNullable(value).orElse(DOUBLE_ZERO);
+ subValue = Optional.ofNullable(subValue).orElse(DOUBLE_ZERO);
return new BigDecimal(value.toString()).subtract(new BigDecimal(subValue.toString()))
.setScale(SCALE, BigDecimal.ROUND_HALF_UP)
.doubleValue();
@@ -76,11 +90,11 @@ public final class DoubleValueUtils {
* @param subValue 被减数
* @param scale 保留位数
* @return 返回结果四舍五入,保留4位小数
- * @Author: yangLang
+ * @author: yangLang
*/
public static double doubleSub(Double value, Double subValue, int scale) {
- value = Optional.ofNullable(value).orElse(0.0);
- subValue = Optional.ofNullable(subValue).orElse(0.0);
+ value = Optional.ofNullable(value).orElse(DOUBLE_ZERO);
+ subValue = Optional.ofNullable(subValue).orElse(DOUBLE_ZERO);
return new BigDecimal(value.toString()).subtract(new BigDecimal(subValue.toString()))
.setScale(scale, BigDecimal.ROUND_HALF_UP)
.doubleValue();
@@ -92,11 +106,11 @@ public final class DoubleValueUtils {
* @param value 乘数
* @param mutValue 被乘数
* @return 返回结果四舍五入,保留4位小数
- * @Author: yangLang
+ * @author: yangLang
*/
public static double doubleMulti(Double value, Double mutValue) {
- value = Optional.ofNullable(value).orElse(0.0);
- mutValue = Optional.ofNullable(mutValue).orElse(0.0);
+ value = Optional.ofNullable(value).orElse(DOUBLE_ZERO);
+ mutValue = Optional.ofNullable(mutValue).orElse(DOUBLE_ZERO);
return new BigDecimal(value.toString()).multiply(new BigDecimal(mutValue.toString()))
.setScale(SCALE, BigDecimal.ROUND_HALF_UP)
.doubleValue();
@@ -109,11 +123,11 @@ public final class DoubleValueUtils {
* @param mutValue 被乘数
* @param scale 保留位数
* @return 返回结果四舍五入,保留4位小数
- * @Author: yangLang
+ * @author: yangLang
*/
public static double doubleMulti(Double value, Double mutValue, int scale) {
- value = Optional.ofNullable(value).orElse(0.0);
- mutValue = Optional.ofNullable(mutValue).orElse(0.0);
+ value = Optional.ofNullable(value).orElse(DOUBLE_ZERO);
+ mutValue = Optional.ofNullable(mutValue).orElse(DOUBLE_ZERO);
return new BigDecimal(value.toString()).multiply(new BigDecimal(mutValue.toString()))
.setScale(scale, BigDecimal.ROUND_HALF_UP)
.doubleValue();
@@ -125,11 +139,11 @@ public final class DoubleValueUtils {
* @param value 除数
* @param divValue 被除数
* @return 返回结果四舍五入,保留4位小数
- * @Author: yangLang
+ * @author: yangLang
*/
- public static double doubleDiv(Double value, Double divValue) {
- value = Optional.ofNullable(value).orElse(0.0);
- divValue = getDivValue(divValue);
+ public static double doubleDiv(Double value, @Nonnull Double divValue) {
+ value = Optional.ofNullable(value).orElse(DOUBLE_ZERO);
+ validateDivValue(divValue);
return new BigDecimal(value.toString()).divide(new BigDecimal(divValue.toString()))
.setScale(SCALE, BigDecimal.ROUND_HALF_UP)
.doubleValue();
@@ -142,19 +156,26 @@ public final class DoubleValueUtils {
* @param divValue 被除数
* @param scale 保留位数
* @return 返回结果四舍五入,保留4位小数
- * @Author: yangLang
+ * @author: yangLang
*/
- public static double doubleDiv(Double value, Double divValue, int scale) {
- value = Optional.ofNullable(value).orElse(0.0);
- divValue = getDivValue(divValue);
+ public static double doubleDiv(Double value, @Nonnull Double divValue, int scale) {
+ value = Optional.ofNullable(value).orElse(DOUBLE_ZERO);
+ validateDivValue(divValue);
return new BigDecimal(value.toString()).divide(new BigDecimal(divValue.toString()))
.setScale(scale, BigDecimal.ROUND_HALF_UP)
.doubleValue();
}
- private static Double getDivValue(Double divValue) {
- divValue = Optional.ofNullable(divValue).orElse(0.0);
- if (ObjectUtils.equals(divValue, 0)) {
+ /**
+ * 检查除数是否为0
+ *
+ * @param divValue
+ * @return
+ * @author: yangLang
+ */
+ private static Double validateDivValue(@Nonnull Double divValue) {
+ Objects.requireNonNull(divValue, "被除数不能为空");
+ if (ZERO == divValue.doubleValue()) {
throw new ContextRuntimeException("被除数不能为0");
}
return divValue;