输入字符串格式不正确Convert.ToDouble(dt.Rows [i] [j] .ToString())

时间:2012-08-27 15:26:43

标签: c# .net

当我尝试比较两行时,它显示如下错误:

Input string was not in a correct format. 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.FormatException: Input string was not in a correct format.

我的代码是:

if (i != (dt.Rows.Count - 1))
{
    if (Convert.ToDouble(dt.Rows[i][1].ToString()) == 
        Convert.ToDouble(dt.Rows[i + 1][1].ToString())) // this is the wrong line
    {
        for (int j = 0; j < dt.Rows.Count - i; j++)
        {
            if (Convert.ToDouble(dt.Rows[i][1].ToString()) == 
                Convert.ToDouble(dt.Rows[i + j][1].ToString()))

我也尝试将ToDouble更改为ToInt32,但它不起作用。

任何人都可以告诉我,这个错误信息意味着什么?

非常感谢!!!

1 个答案:

答案 0 :(得分:1)

该错误意味着无法将其转换为double。附加调试器并查看它尝试转换的值,看看它为什么不是有效数字。

您还可以查看使用TryParse方法,以便在无法转换值时不会抛出异常。