string转换为int值?

时间:2013-05-28 06:27:35

标签: c# asp.net

我想将字符串值转换为int值,所以我尝试了这些:

// 1.
string a = "4163";
int b = int.Parse(a);

// 2.
int intValue;
int.TryParse(a, out intValue);

// 3.
int b = Convert.ToInt32(a);

但总是我的输出如下:

Wrong output value in debugger

它总是写0x00001043,但我需要4163作为输出。我的代码出了什么问题?

4 个答案:

答案 0 :(得分:8)

您的代码应该按预期工作。可能是您需要更改显示设置。所以做这样的事情

  

右键单击Watch Window并取消选择十六进制显示   值。

答案 1 :(得分:0)

如果您确定它会正确解析,请使用

int.Parse(string)

如果不是,请使用

int i;
bool success = int.TryParse(string, out i);

小心!在这种情况下,我将在TryParse之后等于0,而不是10。

int i = 10;
bool failure = int.TryParse("asdf", out i);

这是因为TryParse使用out参数,而不是ref参数。

答案 2 :(得分:0)

您也可以使用

 int i = Convert.ToInt16("1234"); 

我认为您转换的方式也是正确的,但是当您在控制台上显示时,您遇到了问题。

尝试在html或其他地方显示转换后的整数

答案 3 :(得分:0)

嘿你所有的转换方式都给出了正确答案。你很快就看不到答案了。您可以在b上查看最终价值。

表示样本

// 1.
string a = "4163";
int b = Convert.ToInt32(a);

b返回正确答案,您要检查下面的行添加

int c =b;//now it's show result for  4163