异常(输入字符串格式不正确)

时间:2013-12-04 19:45:59

标签: c# winforms linq datagrid

我执行此代码:

  t1.Rows[gid].Cells[3].Paragraphs.First()
                              .Append((Int32.Parse(calculateGetunitPrice(tblMaterialGroup.id))*(a+b+c)).ToString())
                              .FontSize(12)
                              .Font(new FontFamily("B Nazanin"));

a和b和c的值是:

a=24121
b=0
c=13311

和“calculateGetunitPrice(tblMaterialGroup.id)”是1

我收到了这个错误:

Input string wasn't in the correct format

这是我的calculateGetunitPrice函数:

public string calculateGetunitPriceForElse(int materialGroupId)
    {

        var q = from i in dbconnect.tblMaterialTenderAnnouncePrices
                where i.companyId == _comWinnerID && i.MaterialGroupId == materialGroupId
                select i.PriceForElse;

       // int? sum = g => g.PriceForElse;
        return q.ToString();


    }

2 个答案:

答案 0 :(得分:0)

Input string wasn't in the correct format是来自Int32.Parse(...)的例外,因此请确保它是一个数字,也许您有一些空格。

答案 1 :(得分:0)

在此代码中

var q = from i in dbconnect.tblMaterialTenderAnnouncePrices
        where i.companyId == _comWinnerID && i.MaterialGroupId == materialGroupId
        select i.PriceForElse;

q为IEnumerableIQueriable,但不是int,因此当您致电ToString()时,其不会返回数字
所以要解决你需要使用FirstSingleSum等函数获取单个值 改变这样的代码

var q = from i in dbconnect.tblMaterialTenderAnnouncePrices
        where i.companyId == _comWinnerID && i.MaterialGroupId == materialGroupId
        select i.PriceForElse;

return q.First().ToString();