Merge branch 'v5-dev' of github.com:looly/hutool into v5-dev

This commit is contained in:
Looly 2020-09-28 08:35:26 +08:00
commit 00cd499061

View File

@ -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;
}