asp.net 判断数字是不是连续
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp.net 判断数字是不是连续相关的知识,希望对你有一定的参考价值。
有一张数据库表。有年和月两个字段,查询出12个月的数据,如图:
也可能存在如下情况,然后判断 iperiod字段里面的数据是否连续
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语言 判断一个数字是不是在一个指定的区间范围内?求解答。。。。