我正在开展一个小项目,在某个时刻需要将string
转换为int
。
我尝试了以下事项:
//first try
value1 = int.TryParse(value[0].tostring(), out i)
//second
value1 = Convert.ToInt32(value[0].tostring())
//third
value1 = int.Parse(value[0].tostring())
我甚至编写了自己的转换方法,因为我不知所措。
我试图转换的值是从MySQL
数据库查询的。
感谢您的帮助
编辑:
我知道tryparse应该有2个参数。
我得到的错误是形成感觉 输入字符串的格式不正确。
我在所有尝试中都明白了。
我的测试用例中的值是2500 请记住,该数字是从数据库收到的 我在使用硬编码值时尝试了上述代码段。这很好。
编辑2: // http://imgur.com/NSyg2rJ
答案 0 :(得分:0)
试试这个 -
int value1;
if (Int.TryParse(value[0].ToString(), out value1))
{
//conversion successful
}
答案 1 :(得分:0)
<强>一:强>
int.TryParse()
的签名不正确:
int result = 0;
bool parsedSuccessfully = Int32.TryParse(value[0].ToString(), out result);
//If successful, result will hold the value.
<强>两个强>
Convert.ToInt32()
的签名是正确的,减去.ToString()
方法的情况。这是失败的,因为value
或value[0]
是null
,或者它无法将string
"NotAnInt"
之类的内容转换为int
。
<强>三强>
int.Parse()
的签名是正确的,但由于与两个原因相同而失败。