!669 检查值是否在指定范围内

Merge pull request !669 from GuoZG/v5-dev
This commit is contained in:
Looly 2022-06-30 09:51:56 +00:00 committed by Gitee
commit 3c7513a2bb
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
2 changed files with 26 additions and 0 deletions

View File

@ -1813,6 +1813,24 @@ public class NumberUtil {
return bigNum1.compareTo(bigNum2) <= 0; return bigNum1.compareTo(bigNum2) <= 0;
} }
/**
* 检查值是否在指定范围内
*
* @param value
* @param min 最小值包含
* @param max 最大值包含
* @return 经过检查后的值
**/
public static boolean isIn(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<br> * 比较大小值相等 返回true<br>
* 此方法通过调用{@link Double#doubleToLongBits(double)}方法来判断是否相等<br> * 此方法通过调用{@link Double#doubleToLongBits(double)}方法来判断是否相等<br>

View File

@ -463,4 +463,12 @@ public class NumberUtilTest {
Assert.assertFalse(NumberUtil.isDouble(" ")); Assert.assertFalse(NumberUtil.isDouble(" "));
} }
@Test
public void range(){
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")));
}
} }