0

我正在尝试根据我返回的数据库值计算销售额和费用的差异。但是当我使用a - b它时会引发以下错误。虽然我正在转换双精度,但它仍然给出错误:

cannot implicitly convert type string to double

这是我的代码:

double a = Double.Parse(reader["sales"].ToString().Trim());
double b  = Double.Parse(reader["expenses"].ToString().Trim());

Label11.Text = a - b;

任何帮助将不胜感激。

4

3 回答 3

6

因为Text是类型string,而值显然不是该类型的(因此结果值也不是):

Label11.Text = (a - b).ToString();
于 2013-07-08T17:33:10.983 回答
0

代替:Label11.Text = a - b;
使用Label11.Text = (a - b).ToString();

于 2013-07-08T17:35:41.230 回答
0

除非您确定double字符串中始终包含有效值,否则您可能希望使用它TryParse来代替以确保不会引发异常。

double a;
double b;

if (double.TryParse(reader["sales"].ToString().Trim(), out a))  
if (double.TryParse(reader["expenses"].ToString().Trim(), out b))        
    Label11.Text = (a - b).ToString(); //only called if both doubles were parsed
于 2013-07-08T17:48:03.487 回答