From a1d2c3052646495566142a8b024bcc207dec45c6 Mon Sep 17 00:00:00 2001 From: looly Date: Sat, 20 Nov 2021 16:38:40 +0800 Subject: [PATCH] fix code and add test --- .../src/main/java/cn/hutool/core/util/NumberUtil.java | 3 +++ .../src/test/java/cn/hutool/core/util/NumberUtilTest.java | 6 ++++++ 2 files changed, 9 insertions(+) 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 8953e48b0..c5e2f7aed 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 @@ -716,6 +716,9 @@ public class NumberUtil { * @since 3.1.0 */ public static BigDecimal div(Number v1, Number v2, int scale, RoundingMode roundingMode) { + if(v1 instanceof BigDecimal && v2 instanceof BigDecimal){ + return div((BigDecimal)v1, (BigDecimal)v2, scale, roundingMode); + } return div(v1.toString(), v2.toString(), scale, roundingMode); } diff --git a/hutool-core/src/test/java/cn/hutool/core/util/NumberUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/util/NumberUtilTest.java index 137c849cd..e5ee4565e 100644 --- a/hutool-core/src/test/java/cn/hutool/core/util/NumberUtilTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/util/NumberUtilTest.java @@ -87,6 +87,12 @@ public class NumberUtilTest { Assert.assertEquals(0.0, result, 0); } + @Test + public void divBigDecimalTest() { + BigDecimal result = NumberUtil.div(BigDecimal.ZERO, BigDecimal.ONE); + Assert.assertEquals(BigDecimal.ZERO, result.stripTrailingZeros()); + } + @Test public void roundTest() {