将字符串或char转换为int

fis*_*g3r 4 c# type-conversion

我完全不解

string temp = "73";
int tempc0 = Convert.ToInt32(temp[0]);
int tempc1 = Convert.ToInt32(temp[1]);
MessageBox.Show(tempc0 + "*" + tempc1 + "=" + tempc0*tempc1);
Run Code Online (Sandbox Code Playgroud)

我希望: 7*3=21

但后来我收到了: 55*51=2805

Say*_*yse 5

55和51是它们在ascii图表中的位置.链接到图表 - http://kimsehoon.com/files/attach/images/149/759/007/ascii%281%29.png

尝试使用 int.parse

  • `int.Parse`只适用于字符串而不适用于字符;) (2认同)
  • 是的,它还需要ToString()`int.Parse(temp [0] .ToString());` (2认同)

Hab*_*bib 5

那是字符 7 和 3 的 ASCII 值。如果您想要数字表示,那么您可以将每个字符转换为字符串,然后使用Convert.ToString

string temp = "73";
int tempc0 = Convert.ToInt32(temp[0].ToString());
int tempc1 = Convert.ToInt32(temp[1].ToString());
MessageBox.Show(tempc0 + "*" + tempc1 + "=" + tempc0*tempc1);
Run Code Online (Sandbox Code Playgroud)