在数据库里读出了3个考生信息A,B,C。他们的排列是ABC,我要将C考生插入A,B考生的中间,A,B,C考生每个考生都有相对应的ID(double)。算法是(A的ID+B的ID)/2得到一个新的ID,把新的ID赋予C。现在有几个要求,当A,B的ID长度达到double类型的最大长度的时候,提示不能插入,当A的ID长度小于B的ID长度,计算出的C的ID长度要求只能比A的ID长度多一位。反之当B的ID长度小于A的ID长度的时候,计算出的C的ID长度要求只能比B的ID长度多一位。就是这个条件判断如何在C#中用代码实现,请教各位高手。
double lenA;
double lenB;
double lenC;
A和B的id是可以得到的!那么现在就要来计算C的id了;
if(lenA的长度>double的最大长度||lenB的长度>double的最大长度)
{
messagebox.show("提示不能插入");
}else if(lenA的长度<lenB的长度)
{
…………
}else if(lenB的长度<lenA的长度)
{
…………
}
我认为大体上是这样的
考生信息的Id用double类型?
对楼主的描述跟需求很费解
这个问题还有很严重的逻辑错误,如果A和B的值是确定的,那C的值就有可能是不符合你那个比长度最长的多一位的条件,问题在于,当不符合条件了怎么处理,因为A和B的ID决定C的ID。按我对楼主的理解,给你个参考public class _ABC
{
public double Id = 0.00; public int Len
{
get
{
return ((int)Id).ToString().Length;
}
}
}public class _Exec
{
public void test()
{
_ABC a = new _ABC();
a.Id = 0.00; //a的id _ABC b = new _ABC();
b.Id = 0.00; //b的id; _ABC c = new _ABC();
int clen = 0; if (a.Id == Double.MaxValue || b.Id = Double.MaxValue)
{
Console.WriteLine("不能插入");
}
else
{
c.Id = (a.Id + b.Id) / 2; //c的id if (a.Len > b.Len)
{
//怎么处理?
}
else
{
//怎么处理?
}
}
}
}
上面两个条件就是有冲突的。既然有固定算法,既然A和B的Id已经确定,你怎么能保证C能符合条件呢?
纠节啊...