日期:2014-05-18  浏览次数:20398 次

关于数据比较
我想用CompareValidator比较目标框的数小于等于指定框里的数据,如果是负数就变成了大于等于了,比如指定框如果是70,那目标框只能在0-70之间,如果指定框如果是-70,那目标框只能在0-(-70)之间,因为可能有正有负,数据是不确定的.
  还有目标框和指定框是来自cs中Table table = new Table();中的tablerow = new TableRow();的某个tablecell ,这些里中的值实时从数据库获取的.
如:
CompareValidator Rec = new CompareValidator();
  Rec.ID = "Rec" + ddr["Invoice_id"].ToString();
  Rec.ControlToValidate = "freight" + ddr["Invoice_id"].ToString();
  Rec.ControlToCompare = "com" + ddr["Invoice_id"].ToString();
  Rec.Display = ValidatorDisplay.Dynamic;
  Rec.Operator = ValidationCompareOperator.LessThanEqual;
  Rec.Type = ValidationDataType.Double;
  Rec.ErrorMessage = "<=";
  tablecell.Controls.Add(Rec);
  tablerow.Controls.Add(tablecell);
问:根据现在的情况,若是正数,他满足我要求,如果指定数是-70,它允许的范围是在(-70)到负无穷,而不是我要的0-(-70),我怎么才能实现呢???

------解决方案--------------------
有正则表达式,我不会写。。。
------解决方案--------------------
帮你顶一下,我也没考虑过。
------解决方案--------------------
取绝对值然后比较嘛~~

0 - (-70)之间的绝对值也在 0-70

System.Math.Abs()