asp.net 判断数字是不是连续

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp.net 判断数字是不是连续相关的知识,希望对你有一定的参考价值。

有一张数据库表。有年和月两个字段,查询出12个月的数据,如图:

也可能存在如下情况,然后判断 iperiod字段里面的数据是否连续

public bool IsLianxu()

bool flag=true;
DataTalbe dt;//数据源
int one=0,two=0;
foreach(DataRow dr in dt.Rows )

int number= int.Parse(dr["iperiod"].ToString());
//判断当前dr循环到的索引
if(dt.IndexOf(dr)==0) //第一次

if(dt.Rows.Count>1)
one=number;

else
break;//1条数据,返回true


else if(dt.IndexOf(dr)==1)//第二次

if(dt.Rows.Count>2)
two=number;

else
if(int(two-one)=1)

break;//2条数据并且相差1即连续,返回true

else
flag=false;



else
one=two;
two=number;
if(two>one)
if(two-one!=1)

flag=false;

else

if(one-two!=1)

flag=false;



return flag;

参考技术A 不明白你要做什么,试着回答一下吧。iperiod字段里的数据可以按排序输出。它在数据库中是否连续应该无关紧要。追问

我的意思是查询出数据库中的月份,然后在程序里面判断查询出来的月份是否是连续的

参考技术B 这个简单:
将年份*12+月份,换算成整数,然后遍历判断相邻>1的数字组合是否存在。
参考技术C 你查询出某一年的一共有几笔不就行了,不够12笔的就是不连续的。若是你想查询出12个的话,你完全可以建一个临时表,在临时表中存入1-12这12笔资料,然后直接LEFT join 你这个表不就出来了吗追问

我的意思是查询出数据库中的月份,然后在程序里面判断查询出来的月份是否是连续的

追答

根据count不就能确定是不是连续的吗,若是12就是连续的,若不是12说明中间少某个月或者某几个月,不就是不连续的吗

追问

额,这个我还是懂的,只是这表里面只有2013年7月到12的数据,比如说7,8,10,11,12。所以就要判断它是否连续啊

追答

取count和最大借-最小值的差比较不就可以了

参考技术D 你可以在输出的时候判断 不过需要先对 iperiod排序 先巨鹿上一条的月份 然后和输出行对比追问

能详细一点么?谢谢

第5个回答  2013-11-29 只能按年份输出来 看一下是不是有12条了

以上是关于asp.net 判断数字是不是连续的主要内容,如果未能解决你的问题,请参考以下文章

如何判断一个字符是数字还是字母

C语言,怎么判定,是否数字?

C语言 判断一个数字是不是在一个指定的区间范围内?求解答。。。。

C#,判断数字集合是否是连续的

将存放数字的list,顺序排列,然后,判断,数字是否是连续的

扑克牌的顺子