繁体   English   中英

如何将此列值转换为整数?

[英]How can I convert this column value to an integer?

我的C#代码如下所示:

myNum = dt.Columns[0];

myNum是一个整数,dt是一个数据表。 dt第0列中的值是一个字符串(“12”),但我想将其转换为整数。 我怎样才能做到这一点? 我试过了:

myNum = int.Parse(dt.Columns[0]);

......但这不起作用。 有任何想法吗?

值存储在行而不是列中。 试试这个:

myNum = int.Parse(dt.Rows[0][0].ToString());

你的解析没有工作,因为parse方法接受一个字符串,数据作为一个简单的对象返回。

此外,数据在行中,所以你有两个选项,(我更喜欢第一个):

// This converts the object directly to an integer
myNum = Convert.ToInt32(dt.Rows[0][0]); 

// This converts the object to a string, and then parses it into an integer
myNum = int.Parse(dt.Rows[0][0].ToString()); 

如果Parse抛出异常,这意味着dt.Columns [0]不是有效输入。 如果要避免异常,可以使用int.TryParse返回一个布尔值,告诉转换是否成功完成

编辑 :BTW,Darin必须是正确的:您的值不会存储在列中但存储在单元格中

使用TryParse方法解析Value:

int myNum = 0;
int.TryParse(dt.rows[0][0].ToString() , out myNum);

使用上面的代码,如果发生错误,变量的值将为零

Convert.ToInt32(dt.Rows[0][0])

如果你正在处理各种类型,例如双打(1.0),上面会更好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM