无法在asp.net c#中将字符串转换为浮点值

本文关键字:转换 字符串 asp net | 更新日期: 2023-09-27 18:21:36

我正试图根据返回的数据库值计算销售额和费用的差额。但当我使用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;

任何帮助都将不胜感激。

无法在asp.net c#中将字符串转换为浮点值

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

Label11.Text = (a - b).ToString();

除非您确定字符串中总是有有效的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

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