1

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

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

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

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

但我的输出总是这样:

调试器中的错误输出值

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

4

4 回答 4

8

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

右键单击监视窗口并取消选择值的十六进制显示。

于 2013-05-28T06:32:25.827 回答
0

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

int.Parse(string)

如果不是,请使用

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

警告!在这种情况下,在 TryParse 之后 i 将等于 0,而不是 10。

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

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

于 2013-05-28T06:33:47.513 回答
0

你也可以使用

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

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

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

于 2013-05-28T06:37:23.130 回答
0

嘿,你所有的转换方式都是给出正确的答案。您不会在快速观看中看到答案。您可以在b.

样品

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

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

int c =b;//now it's show result for  4163
于 2013-05-28T06:44:56.967 回答