Возможно, я что-то упускаю из виду, но эта проблема меня сильно раздражает. Я пытаюсь получить значение из набора данных, а затем использовать его для некоторых вычислений. в наборе данных он рассматривается как объект, поэтому мне нужно преобразовать его в int или double. По какой-то причине я получаю глупую ошибку, которая действует мне на нервы. вот код.
private void SpendsAnalysis()
{
float tempQty = 0;
float tempPrice = 0;
double tempTot = 0;
double total = 0;
foreach (DataGridViewRow row in dataGridView1.Rows)
{
tempQty = (float)row.Cells["Qty"].Value;
tempPrice = (float)row.Cells["Unit"].Value;
tempTot = tempQty * tempPrice;
total += tempTot;
}
textBox7.Text = total.ToString();
}
Выброшено: «Указанное приведение недействительно». (System.InvalidCastException) при розыгрыше формы число должно быть меньше, чем инифнит. Это досадная ошибка, которую я получаю. теперь я получаю данные из своего набора данных, который получает данные из хранимой процедуры. Я считаю, что тип поля «Кол-во» - это валюта (да, почему кол-во валюты, ха-ха, а не мои таблицы!). в моем представлении сетки данных это выглядит как 1.000, это из-за преобразования типа? как я могу это исправить? Спасибо заранее!