Ошибка приведения в C # (бесконечное значение… что?)

Возможно, я что-то упускаю из виду, но эта проблема меня сильно раздражает. Я пытаюсь получить значение из набора данных, а затем использовать его для некоторых вычислений. в наборе данных он рассматривается как объект, поэтому мне нужно преобразовать его в 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, это из-за преобразования типа? как я могу это исправить? Спасибо заранее!

5
задан lemunk 8 December 2011 в 08:54
поделиться