From 9eb9b07b117c4a1a6cc8a668228073a62c487f4b Mon Sep 17 00:00:00 2001 From: "bob.guo" Date: Tue, 28 Jun 2022 19:50:41 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=A3=80=E6=9F=A5=E5=80=BC=E6=98=AF?= =?UTF-8?q?=E5=90=A6=E5=9C=A8=E6=8C=87=E5=AE=9A=E8=8C=83=E5=9B=B4=E5=86=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/hutool/core/util/NumberUtil.java | 18 ++++++++++++++++++ .../cn/hutool/core/util/NumberUtilTest.java | 8 ++++++++ 2 files changed, 26 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 902e2b3c5..a2718d694 100755 --- a/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java @@ -1813,6 +1813,24 @@ public class NumberUtil { return bigNum1.compareTo(bigNum2) <= 0; } + /** + * 检查值是否在指定范围内 + * + * @param value 值 + * @param min 最小值(包含) + * @param max 最大值(包含) + * @return 经过检查后的值 + **/ + public static boolean range(final BigDecimal value, final BigDecimal min,final BigDecimal max){ + Assert.notNull(value); + Assert.notNull(min); + Assert.notNull(max); + if(isGreaterOrEqual(value,min) && isLessOrEqual(value,max)){ + return true; + } + return false; + } + /** * 比较大小,值相等 返回true
* 此方法通过调用{@link Double#doubleToLongBits(double)}方法来判断是否相等
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 d4ab4b079..77c33637d 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 @@ -463,4 +463,12 @@ public class NumberUtilTest { Assert.assertFalse(NumberUtil.isDouble(" ")); } + @Test + public void range(){ + Assert.assertFalse(NumberUtil.range(new BigDecimal("1"),new BigDecimal("2"),new BigDecimal("12"))); + Assert.assertTrue(NumberUtil.range(new BigDecimal("1"),new BigDecimal("1"),new BigDecimal("2"))); + Assert.assertTrue(NumberUtil.range(new BigDecimal("1"),new BigDecimal("0"),new BigDecimal("2"))); + Assert.assertFalse(NumberUtil.range(new BigDecimal("0.23"),new BigDecimal("0.12"),new BigDecimal("0.22"))); + Assert.assertTrue(NumberUtil.range(new BigDecimal("-0.12"),new BigDecimal("-0.3"),new BigDecimal("0"))); + } } From 975a6dbe69a2ff02b52b981475162f2d239c0a26 Mon Sep 17 00:00:00 2001 From: "bob.guo" Date: Thu, 30 Jun 2022 10:03:12 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=A3=80=E6=9F=A5=E5=80=BC=E6=98=AF?= =?UTF-8?q?=E5=90=A6=E5=9C=A8=E6=8C=87=E5=AE=9A=E8=8C=83=E5=9B=B4=E5=86=85?= =?UTF-8?q?=20=E4=BF=AE=E6=94=B9=E6=96=B9=E6=B3=95=E5=91=BD=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/cn/hutool/core/util/NumberUtil.java | 2 +- .../test/java/cn/hutool/core/util/NumberUtilTest.java | 10 +++++----- 2 files changed, 6 insertions(+), 6 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 a2718d694..419c5a4ff 100755 --- a/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/util/NumberUtil.java @@ -1821,7 +1821,7 @@ public class NumberUtil { * @param max 最大值(包含) * @return 经过检查后的值 **/ - public static boolean range(final BigDecimal value, final BigDecimal min,final BigDecimal max){ + public static boolean isIn(final BigDecimal value, final BigDecimal min,final BigDecimal max){ Assert.notNull(value); Assert.notNull(min); Assert.notNull(max); 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 77c33637d..9246d2c04 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 @@ -465,10 +465,10 @@ public class NumberUtilTest { @Test public void range(){ - Assert.assertFalse(NumberUtil.range(new BigDecimal("1"),new BigDecimal("2"),new BigDecimal("12"))); - Assert.assertTrue(NumberUtil.range(new BigDecimal("1"),new BigDecimal("1"),new BigDecimal("2"))); - Assert.assertTrue(NumberUtil.range(new BigDecimal("1"),new BigDecimal("0"),new BigDecimal("2"))); - Assert.assertFalse(NumberUtil.range(new BigDecimal("0.23"),new BigDecimal("0.12"),new BigDecimal("0.22"))); - Assert.assertTrue(NumberUtil.range(new BigDecimal("-0.12"),new BigDecimal("-0.3"),new BigDecimal("0"))); + Assert.assertFalse(NumberUtil.isIn(new BigDecimal("1"),new BigDecimal("2"),new BigDecimal("12"))); + Assert.assertTrue(NumberUtil.isIn(new BigDecimal("1"),new BigDecimal("1"),new BigDecimal("2"))); + Assert.assertTrue(NumberUtil.isIn(new BigDecimal("1"),new BigDecimal("0"),new BigDecimal("2"))); + Assert.assertFalse(NumberUtil.isIn(new BigDecimal("0.23"),new BigDecimal("0.12"),new BigDecimal("0.22"))); + Assert.assertTrue(NumberUtil.isIn(new BigDecimal("-0.12"),new BigDecimal("-0.3"),new BigDecimal("0"))); } }