优化NumberUtil中对空值的处理

This commit is contained in:
neko 2020-09-27 17:44:23 +08:00 committed by GitHub
parent 870ea9a329
commit 43713aab7d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

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