当将一串数字转换为 int 时,它会返回该字符串的 ASCII 代码

本文关键字:返回 字符串 代码 ASCII int 一串 转换 数字 | 更新日期: 2023-09-27 18:33:33

我有以下格式的字符串:"P100"P231"P000"...

这些字符串是按钮名称,最后 3 个字符指的是 3D 数组的单元格,我需要将这些字符串转换为整数才能获得单元格地址,我使用这个:

string str = clickedButton.Name.ToString();
int xi ;
int xj;
int xz;
xi = Convert.ToInt32(str[1]);
xj = Convert.ToInt32(str[2]);
xz = Convert.ToInt32(str[3]);

请注意,我不使用"str[0]",因为它是"p"。

但是当我编译我的代码时,xi,xj,xz 的值是字符串字符的 Ascci 值。

我应该如何将字符串转换为 int 以免发生?

当将一串数字转换为 int 时,它会返回该字符串的 ASCII 代码

执行以下操作:

int xi = (int)Char.GetNumericValue(str[1]);

另请参阅此

为什么不直接格式化字符串以直接从名称中删除 p?

string str = clickedButton.Name.ToString();
str = str.Replace("p","");
int a = Convert.ToInt32(str);
int onesplace = a%10;
int secondplace = (a/10)%10;
int thirdplace = a/100;

"地方"从右到左开始。一个地方是最右边的数字

如果需要单元格的各个值,则可以将此字符串转换为整数并使用模函数

编辑:更新了代码

你的代码正在追逐该位置的字符。

你想要的是获取该位置的字符串。

xi = Convert.ToInt32(str.Substring(1,1));
xj = Convert.ToInt32(str.Substring(2,1));
xk = Convert.ToInt32(str.Substring(3,1));