From afe5844b2508792863d69e6a3635bad655e8e6b6 Mon Sep 17 00:00:00 2001 From: LazzMan <17089793114@163.com> Date: Fri, 4 Dec 2020 16:41:48 +0800 Subject: [PATCH 1/2] NumberUtil add new method --- .../java/cn/hutool/core/util/NumberUtil.java | 52 +++++++++++++++++++ 1 file changed, 52 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 96f17de45..f7de88e65 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 @@ -2493,6 +2493,58 @@ public class NumberUtil { return true; } + /** + * 检查value是否在[min,max]范围内 + * + * @param min 最小值 + * @param max 最大值 + * @param value 被检查值 + * @return 检查结果,范围内将返回true,否则返回false + * @since 5.5.4 + */ + public static boolean isBetween(int min, int max, int value) { + return value >= min && value <= max; + } + + /** + * 检查value是否在[min,max]范围内 + * + * @param min 最小值 + * @param max 最大值 + * @param value 被检查值 + * @return 检查结果,范围内将返回true,否则返回false + * @since 5.5.4 + */ + public static boolean isBetween(long min, long max, long value) { + return value >= min && value <= max; + } + + /** + * 检查value是否在[min,max]范围内 + * + * @param min 最小值 + * @param max 最大值 + * @param value 被检查值 + * @return 检查结果,范围内将返回true,否则返回false + * @since 5.5.4 + */ + public static boolean isBetween(float min, float max, float value) { + return value >= min && value <= max; + } + + /** + * 检查value是否在[min,max]范围内 + * + * @param min 最小值 + * @param max 最大值 + * @param value 被检查值 + * @return 检查结果,范围内将返回true,否则返回false + * @since 5.5.4 + */ + public static boolean isBetween(double min, double max, double value) { + return value >= min && value <= max; + } + // ------------------------------------------------------------------------------------------- Private method start private static int mathSubnode(int selectNum, int minNum) { if (selectNum == minNum) { From 626f4e51d0561970ec4e95bb2ddbe60f623de1b9 Mon Sep 17 00:00:00 2001 From: LazzMan <17089793114@163.com> Date: Fri, 4 Dec 2020 16:56:25 +0800 Subject: [PATCH 2/2] NumberUtil add unit-test --- .../src/test/java/cn/hutool/core/util/NumberUtilTest.java | 8 ++++++++ 1 file changed, 8 insertions(+) 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 cbd632a0f..5db2db167 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 @@ -303,4 +303,12 @@ public class NumberUtilTest { Assert.assertEquals("0", NumberUtil.toStr(NumberUtil.sub(new BigDecimal("9600.0000000000"), new BigDecimal("9600.000000")))); Assert.assertEquals("0", NumberUtil.toStr(new BigDecimal("9600.00000").subtract(new BigDecimal("9600.000000000")))); } + + @Test + public void isBetweenTest() { + Assert.assertTrue(NumberUtil.isBetween(0, 1, 0)); + Assert.assertTrue(NumberUtil.isBetween(0l, 1l, 1l)); + Assert.assertTrue(NumberUtil.isBetween(0.1f, 0.2f, 0.19f)); + Assert.assertTrue(NumberUtil.isBetween(0.1, 0.2, 0.19)); + } }