|
|
@@ -126,7 +126,7 @@ public class NumberUtil {
|
|
|
}
|
|
|
|
|
|
Number value = values[0];
|
|
|
- BigDecimal result = new BigDecimal(null == value ? "0" : value.toString());
|
|
|
+ BigDecimal result = null == value ? BigDecimal.ZERO : new BigDecimal(value.toString());
|
|
|
for (int i = 1; i < values.length; i++) {
|
|
|
value = values[i];
|
|
|
if (null != value) {
|
|
|
@@ -150,7 +150,7 @@ public class NumberUtil {
|
|
|
}
|
|
|
|
|
|
String value = values[0];
|
|
|
- BigDecimal result = new BigDecimal(null == value ? "0" : value);
|
|
|
+ BigDecimal result = null == value ? BigDecimal.ZERO : new BigDecimal(value);
|
|
|
for (int i = 1; i < values.length; i++) {
|
|
|
value = values[i];
|
|
|
if (null != value) {
|
|
|
@@ -266,7 +266,7 @@ public class NumberUtil {
|
|
|
}
|
|
|
|
|
|
Number value = values[0];
|
|
|
- BigDecimal result = new BigDecimal(null == value ? "0" : value.toString());
|
|
|
+ BigDecimal result = null == value ? BigDecimal.ZERO : new BigDecimal(value.toString());
|
|
|
for (int i = 1; i < values.length; i++) {
|
|
|
value = values[i];
|
|
|
if (null != value) {
|
|
|
@@ -290,7 +290,7 @@ public class NumberUtil {
|
|
|
}
|
|
|
|
|
|
String value = values[0];
|
|
|
- BigDecimal result = new BigDecimal(null == value ? "0" : value);
|
|
|
+ BigDecimal result = null == value ? BigDecimal.ZERO : new BigDecimal(value);
|
|
|
for (int i = 1; i < values.length; i++) {
|
|
|
value = values[i];
|
|
|
if (null != value) {
|
|
|
@@ -402,15 +402,15 @@ public class NumberUtil {
|
|
|
* @since 4.0.0
|
|
|
*/
|
|
|
public static BigDecimal mul(Number... values) {
|
|
|
- if (ArrayUtil.isEmpty(values)) {
|
|
|
+ if (ArrayUtil.isEmpty(values) || ArrayUtil.hasNull(values)) {
|
|
|
return BigDecimal.ZERO;
|
|
|
}
|
|
|
|
|
|
Number value = values[0];
|
|
|
- BigDecimal result = new BigDecimal(null == value ? "0" : value.toString());
|
|
|
+ BigDecimal result = new BigDecimal(value.toString());
|
|
|
for (int i = 1; i < values.length; i++) {
|
|
|
value = values[i];
|
|
|
- result = result.multiply(new BigDecimal(null == value ? "0" : value.toString()));
|
|
|
+ result = result.multiply(new BigDecimal(value.toString()));
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
@@ -436,18 +436,15 @@ public class NumberUtil {
|
|
|
* @since 4.0.0
|
|
|
*/
|
|
|
public static BigDecimal mul(String... values) {
|
|
|
- if (ArrayUtil.isEmpty(values)) {
|
|
|
+ if (ArrayUtil.isEmpty(values) || ArrayUtil.hasNull(values)) {
|
|
|
return BigDecimal.ZERO;
|
|
|
}
|
|
|
|
|
|
- String value = values[0];
|
|
|
- BigDecimal result = new BigDecimal(null == value ? "0" : value);
|
|
|
+ BigDecimal result =new BigDecimal(values[0]);
|
|
|
for (int i = 1; i < values.length; i++) {
|
|
|
- value = values[i];
|
|
|
- if (null != value) {
|
|
|
- result = result.multiply(new BigDecimal(value));
|
|
|
- }
|
|
|
+ result = result.multiply(new BigDecimal(values[i]));
|
|
|
}
|
|
|
+
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
@@ -460,17 +457,13 @@ public class NumberUtil {
|
|
|
* @since 4.0.0
|
|
|
*/
|
|
|
public static BigDecimal mul(BigDecimal... values) {
|
|
|
- if (ArrayUtil.isEmpty(values)) {
|
|
|
+ if (ArrayUtil.isEmpty(values) || ArrayUtil.hasNull(values)) {
|
|
|
return BigDecimal.ZERO;
|
|
|
}
|
|
|
|
|
|
- BigDecimal value = values[0];
|
|
|
- BigDecimal result = null == value ? BigDecimal.ZERO : value;
|
|
|
+ BigDecimal result = values[0];
|
|
|
for (int i = 1; i < values.length; i++) {
|
|
|
- value = values[i];
|
|
|
- if (null != value) {
|
|
|
- result = result.multiply(value);
|
|
|
- }
|
|
|
+ result = result.multiply(values[i]);
|
|
|
}
|
|
|
return result;
|
|
|
}
|