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

时间:2010-04-07 12:00:39

标签: c#

我的C#代码如下所示:

myNum = dt.Columns[0];

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

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

......但这不起作用。有什么想法吗?

5 个答案:

答案 0 :(得分:26)

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

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

答案 1 :(得分:7)

您的解析无效,因为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()); 

答案 2 :(得分:3)

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

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

答案 3 :(得分:1)

使用TryParse方法解析值:

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

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

答案 4 :(得分:0)

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

如果您处理各种类型,例如双打(1.0),上述情况会更好。