C# 数据类型转换时报错输入的字符串格式不正确

C#中把string 转换成int 可以用Convert.ToInt32(str);
但是竟然报错了,字符串都不是为空的并且都是数字字符串。为啥报错,求姐
代码如下

  foreach (DataGridViewRow row in this.dataGridViewEx2.Rows)
            {
                string demandQty = (string)(row.Cells[this.ColSumDemandQty.Name].Value);
                string excuteQty = (string)(row.Cells[this.ColSumExecuteQty.Name].Value);
                int a = Convert.ToInt32(demandQty);
                int b = Convert.ToInt32(excuteQty);
                if (a > b) {
                    MessageBox.Show("OK");
                }

            }

图片说明

真是够了demandQty是小数字符串,被自己蠢哭了(๑ŐдŐ)b
一般出这样的问题都是你要转化的那个数据有问题
用Convert.ToDecimal()就好了