【发布时间】:2013-03-07 19:36:44
【问题描述】:
我是 C# 编程的新手,我正在尝试在两个单元格值之间执行除法并将结果放在 Devexpress 中的第三个单元格中。我的代码工作正常,除非分母是0。这给了我一个 Infinity 的输出。下面是我试图让它在分母中输出0 的尝试为零。
private void xrTableCell40_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e)
{
string value;
bool Isnum;
double holder;
string zero;
value = xrTableCell38.ToString();
zero = 0.ToString();
Isnum = double.TryParse(value, out holder);
if(Isnum = true){
if (holder > 0)
DoWorkEventArgs}
else{
xrTableCell40.Text = zero;};
holder = Convert.ToDouble(xrLabel135.Summary.GetResult()) / Convert.ToDouble(xrTableCell38.Summary.GetResult());
string s = string.Format("{0:N2}", holder);
xrTableCell40.Text = Convert.ToString(s);
}
如果分母为零,我需要输出为0.00,否则它应该执行除法并将结果放入xrTableCell40。
【问题讨论】:
-
这还能编译吗?你有错误吗?
-
这里有一个逻辑错误:
if(Isnum = true){...您将Isnum设置为true。尝试更新到if(Isnum == true){ -
Isnum = true?也许只是 Isnum 或 Isnum == true
-
什么是 DoWorkEventArgs?如果持有人小于零怎么办?
-
我修复了这个问题,现在我收到一条错误消息,提示“System.ComponentModel.DoWorkEventArgs”是一个“类型”,但用作“变量”
标签: c# if-statement devexpress tryparse