2013-07-08 3 views
0

Я пытаюсь вычислить разницу между продажами и расходами из значений базы данных, которые я вернул. Но когда я использую a - b, он выдает следующую ошибку. Хотя я преобразуя двойной она по-прежнему выдает ошибку:не удалось преобразовать строку в float в asp.net C#

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; 

Любая помощь будет оценена.

+0

Когда вы отлаживаете, '' и 'b' правильно удваиваются? Вы пробовали делать «Label11.Text = (a-b) .ToString();'? – Tawnos

+0

оба возвращаются дважды, но добавление, что сработало отлично .. спасибо – user2561472

ответ

6

Поскольку Text имеет тип string и значения, очевидно, не являются (и, следовательно, ни это результирующее значение) этого типа:

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

спасибо ... не помню, чтобы добавить его наконец .. – user2561472

0

Вместо того, чтобы: Label11.Text = a - b;
использование Label11.Text = (a - b).ToString();

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 
Смежные вопросы