From 43713aab7d855772bcbbc1a8b9899c5f9a50ea88 Mon Sep 17 00:00:00 2001 From: neko <52202080+akiyamaneko@users.noreply.github.com> Date: Sun, 27 Sep 2020 17:44:23 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BC=98=E5=8C=96NumberUtil=E4=B8=AD?= =?UTF-8?q?=E5=AF=B9=E7=A9=BA=E5=80=BC=E7=9A=84=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/hutool/core/util/NumberUtil.java | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java b/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java index a674fd4df..1a1ad89cf 100644 --- a/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java @@ -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.toString()); 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,12 +436,12 @@ 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 = null == value ? BigDecimal.ZERO : new BigDecimal(value); for (int i = 1; i < values.length; i++) { value = values[i]; if (null != value) { @@ -460,7 +460,7 @@ 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; } @@ -1814,7 +1814,7 @@ public class NumberUtil { * * @param numberArray 数字数组 * @return 最小值 - * @see ArrayUtil#min(Comparable[]) + * @see ArrayUtil#min(Comparable[]) * @since 5.0.8 */ public static BigDecimal min(BigDecimal... numberArray) { From f46a404d9fe9ad0c40ef9d94b3cbcb638f08746b Mon Sep 17 00:00:00 2001 From: neko <52202080+akiyamaneko@users.noreply.github.com> Date: Sun, 27 Sep 2020 17:57:43 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BC=98=E5=8C=96NumberUtil=E4=B8=AD?= =?UTF-8?q?=E9=92=88=E5=AF=B9BigDecimal=E7=9A=84=E4=B8=80=E4=BA=9B?= =?UTF-8?q?=E5=A4=84=E7=90=86=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/hutool/core/util/NumberUtil.java | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java b/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java index 1a1ad89cf..e3e48c67b 100644 --- a/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java @@ -440,14 +440,11 @@ public class NumberUtil { return BigDecimal.ZERO; } - String value = values[0]; - BigDecimal result = null == value ? BigDecimal.ZERO : new BigDecimal(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; } @@ -464,13 +461,9 @@ public class NumberUtil { 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; } @@ -1814,7 +1807,7 @@ public class NumberUtil { * * @param numberArray 数字数组 * @return 最小值 - * @see ArrayUtil#min(Comparable[]) + * @see ArrayUtil#min(Comparable[]) * @since 5.0.8 */ public static BigDecimal min(BigDecimal... numberArray) { From 31d8b238a37c37fcb40a0a9f430e585d91237c23 Mon Sep 17 00:00:00 2001 From: neko <52202080+akiyamaneko@users.noreply.github.com> Date: Sun, 27 Sep 2020 18:11:42 +0800 Subject: [PATCH 3/3] Update NumberUtil.java --- hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java b/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java index e3e48c67b..33ea4bf79 100644 --- a/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java @@ -150,7 +150,7 @@ public class NumberUtil { } String value = values[0]; - BigDecimal result = null == value ? BigDecimal.ZERO : new BigDecimal(value.toString()); + BigDecimal result = null == value ? BigDecimal.ZERO : new BigDecimal(value); for (int i = 1; i < values.length; i++) { value = values[i]; if (null != value) {