-1

我的网络应用程序中有以下代码行。

        foreach (DataRow dr in dtDataItemsSets_1.Rows)
        {
            lst_dataItem_1.Add(Convert.ToDecimal(dr["total"].ToString())); ;
        }
        iData.Add(lst_dataItem_1);

如果我传递一个小数,它工作正常。

但是,如果该值为 NULL,则会出现以下错误。

“输入字符串的格式不正确”

我明白为什么这不起作用,但我不确定如何处理 NULL 值?

非常感谢任何帮助。

4

1 回答 1

0

您可以在将 dr["total"] 转换为十进制之前检查它的值:

foreach (DataRow dr in dtDataItemsSets_1.Rows)
    {
        lst_dataItem_1.Add((dr["total"] is null) ? "NULL" : Convert.ToDecimal(dr["total"].ToString())); ;
    }
    iData.Add(lst_dataItem_1);
于 2020-09-26T18:19:34.473 回答