+ -
当前位置:首页 → 问答吧 → c#问题求解,还望高手解答

c#问题求解,还望高手解答

时间:2011-12-21

来源:互联网

Convert.ToInt32(StorNum.Rows[0][0].ToString().Trim()) 引发了"System.FormatException"异常,求高手解答

未处理的“System.FormatException”类型的异常出现在 mscorlib.dll 中。
其他信息: 输入字符串的格式不正确。


代码如下:
string GoodsCount = this.dataGridView1.Rows[i].Cells[5].Value.ToString().Trim();
NNum = Convert.ToInt32(GoodsCount)
if (Convert.ToInt32(TNum.Rows[0][0].ToString().Trim()) <Num)
  {
  MessageBox.Show(GoodName+"数量不足,请确认库存!");
  return;
  }

作者: jingcaolyh   发布时间: 2011-12-21

ToInt32()看看里面的是啥,是否能转成INT型
Convert.ToInt32(GoodsCount)
Convert.ToInt32(TNum.Rows[0][0].ToString().Trim())
都有可疑

作者: facelessvoidhj   发布时间: 2011-12-21

直接这样就行了,不需要ToString
Convert.ToInt32(StorNum.Rows[0][0])

另外,转换前应该判断是否DBNull

if (!(StorNum.Rows[0][0]))
{
Convert.ToInt32(StorNum.Rows[0][0])
}

如果还是出错,在异常中输出值,看看是什么,

if (!(StorNum.Rows[0][0]))
{
try
{
Convert.ToInt32(StorNum.Rows[0][0])
}
catch(FormatException)
{
  MessageBox.Show("错误的值="+StorNum.Rows[0][0].ToString());
}

}

作者: stonespace   发布时间: 2011-12-21

不要用Convert,用Int32.TryParase()

作者: bobye1230   发布时间: 2011-12-21

相关阅读 更多

热门下载

更多