/// <summary>
/// 金额区间判断帮助类
/// </summary>
public static class DecimalRangeHelper
{
/// <summary>
/// 是否有交集
/// </summary>
/// <param name="currentRange"></param>
/// <param name="otherRange"></param>
/// <returns></returns>
public static bool IsIntersectionWith(this DecimalRange currentRange, DecimalRange otherRange)
{
return currentRange.Min.In(otherRange.Min, otherRange.Max) || currentRange.Max.In(otherRange.Min, otherRange.Max) && otherRange.Min != currentRange.Max;
} /// <summary>
/// 判断金额区间存在交集
/// </summary>
/// <param name="currentRanges"></param>
/// <returns></returns>
public static bool ExistsIntersectionRange(this List<DecimalRange> currentRanges)
{
return currentRanges.Any(p => currentRanges.Where(q => !object.ReferenceEqual(p,q)).Any(z => p.IsIntersectionWith(z)));
}
}
/// <summary>
/// 金额区间对应类
/// </summary>
public class DecimalRange
{
/// <summary>
/// 最大
/// </summary>
private decimal max; /// <summary>
/// 最小值
/// </summary>
public decimal Min { get; set; } /// <summary>
/// 最大值
/// </summary>
public decimal Max
{
get
{
return (max == ) ? Decimal.MaxValue : max;
}
set
{
max = value;
}
} /// <summary>
/// ToString
/// </summary>
/// <returns></returns>
public override string ToString()
{
return Min.ToString()+"-"+Max.ToString();
}
}
 /// <summary>
/// 金额帮助类
/// </summary>
public static class DecimalHelper
{
/// <summary>
/// 判断指定金额是否在指定金额范围内
/// </summary>
public static readonly Func<decimal, decimal, decimal, bool> IsInDecimalPeriodByMomney = (current, min, max) => min <= current && max > current; /// <summary>
/// 判断指定金额是否在指定金额范围内
/// </summary>
public static bool In(this decimal current, decimal min, decimal max)
{
return IsInDecimalPeriodByMomney(current, min, max);
} /// <summary>
/// 判断指定金额范围是否包含指定金额范围内(max=0时表示不限制)
/// </summary>
public static bool InSpecial(this decimal currentMin, decimal currentMax, decimal min, decimal max)
{
if (max == )
{
max = Decimal.MaxValue;
}
if (currentMax == )
{
currentMax = Decimal.MaxValue;
}
return currentMin.In(min, max);
}
}

c# 多数值区间判断是否有重叠的更多相关文章

  1. MMS关键指标意义&各数值区间意义

    MMS关键指标意义&各数值区间意义 What's MMS MongoDB Management Service (MMS) is a suite of services for managin ...

  2. NumPy 基于数值区间创建数组

    来源:Python Numpy 教程 章节 Numpy 介绍 Numpy 安装 NumPy ndarray NumPy 数据类型 NumPy 数组创建 NumPy 基于已有数据创建数组 NumPy 基 ...

  3. shell脚本基础 数值运算 判断 及if语句

    数值运算 整数运算[三种,随便掌握一种即可]expr 数字 运算符 数字 [root@ceshiji ~]# expr 1 + 1(运算符号都是+ - * / 注:*需要\*.%是取余,余数只有0 1 ...

  4. (贪心 区间) 51nod1091 线段的重叠

    X轴上有N条线段,每条线段包括1个起点和终点.线段的重叠是这样来算的,[10 20]和[12 25]的重叠部分为[12 20]. 给出N条线段的起点和终点,从中选出2条线段,这两条线段的重叠部分是最长 ...

  5. js数值大小判断的错误

    1.js中定义一个变量i,判断i的取值在[1,3]中的错误写法 if(1<= i <= 3) 假设js的值为4,浏览器在解析js时会先将1与4比较 ,显然1<= 4,返回结果为1,然 ...

  6. awk 取列后对数值进行判断取出大于1的数值

    [root@dataline-prod nginx]# tail -2 access.log 122.238.119.177 - - [26/Oct/2018:18:20:25 +0800] &quo ...

  7. 021-PHP常用的数值类型判断函数

    <?php //判断数组 $colors = array("red", "blue", "green"); if(is_array($ ...

  8. (2)用 if语句 区间判断

    1 /*此例子只作为演示*/ 2 3 #include <stdio.h> 4 int main() 5 { 6 printf("请问贵公司给出的薪资是:\n"); 7 ...

  9. 用 区间判断(if)来猜价格的高低

    1 #include <stdio.h> 2 #include <stdlib.h> 3 int main() 4 { 5 int price = 150; 6 int gue ...

随机推荐

  1. Centos里没有lsb_release

    查看Centos操作系统版本,输入指令 lsb_release -a 报无此命令 解决办法,安装lsb_release 1.执行指令:yum install -y redhat-lsb 2.安装完毕后 ...

  2. 面试题:四种Java线程池用法解析 !=!=未看

    1.new Thread的弊端 执行一个异步任务你还只是如下new Thread吗? 1 2 3 4 5 6 7 8 new Thread(new Runnable() {     @Override ...

  3. 2.Hive的几种常见的数据导入方式

    好久没写Hive的那些事了,今天开始写点吧.今天的话题是总结Hive的几种常见的数据导入方式,我总结为四种:(1).从本地文件系统中导入数据到Hive表:(2).从HDFS上导入数据到Hive表:(3 ...

  4. Luogu 2403 [SDOI2010]所驼门王的宝藏

    BZOJ 1924 内存要算准,我MLE了两次. 建立$n + r + c$个点,对于一个点$i$的坐标为$(x, y)$,连边$(n + x, i)$和$(n + r + y, i)$,代表这一列和 ...

  5. Windows7下使用sphinx生成开源文档(原)

    作者这里以osgearth文档为例,感觉这种生成文档的方式比较好,生成的html文档是支持搜索的,感谢开源工作者的奉献.赞一个 1. 下载并安装python for windows:https://w ...

  6. What is difference between 3-layer architecture and MVC architecture?

    By Vikas Singh on Sep 26, 2014 In 3-layer architecture  3-layer architecture separates the applicati ...

  7. AutoLayout自动布局,NSLayoutConstraint 视图约束使用

    一.方法 NSLayoutConstraint *constraint = [NSLayoutConstraint constraintWithItem:<#(id)#> attribut ...

  8. LightOJ 1065 Island of Survival (概率DP?)

    题意:有 t 只老虎,d只鹿,还有一个人,每天都要有两个生物碰面,1.老虎和老虎碰面,两只老虎就会同归于尽 2.老虎和人碰面或者和鹿碰面,老虎都会吃掉对方 3.人和鹿碰面,人可以选择杀或者不杀该鹿4. ...

  9. XE改变图标颜色

    放一个image,load 一张png/..图片 再放一个FillRGBEffect, 将此控价拖到image下 改变FillRGBEffect的Color,就改变了image图标上的颜色. 原图为黑 ...

  10. MVC Action控制方式

    1.Controller 的OnActionExecuting中控制 protected override void OnActionExecuting(ActionExecutingContext ...