为什么数据库里的nvarchar数据类型无法转换成int c#

来源:百度知道 编辑:UC知道 时间:2024/05/25 03:01:59
if ( Convert.ToInt32(e.Row.Cells[4].Text) >20)会报错,我的cellls[4]在数据库里的数据类型是nvarchar,可是下面的转换却是通过的,请各路大侠给小弟解释下哦:
if ( Convert.ToInt32( Convert.ToDouble(e.Row.Cells[4].Text) )>20)
就是为什么先要转换成double的.
谢谢

长度问题 nvarchar相当于string
占得字节数大于int型的
int型的数据无法承载,但是double就可以,因为够大

直接int.parse(e.Row.Cells[4].Text)

int.tryparse(Convert.ToDouble(e.Row.Cells[4].Text)

可能是你的nvarchar是小数?