【问题标题】:Convert letter from textBox to an integer将文本框中的字母转换为整数
【发布时间】:2013-08-25 23:08:16
【问题描述】:

如何将字母从textBox 转换为整数?

例如,如果用户在textBox 中输入"B",我正在尝试将B 转换为数字1

string a = textBox1.Text
int number = 1;

number = int.Parsed (a);

messageBox.Show(number.ToString());

【问题讨论】:

  • b 与 1 的关系如何?文字总是1个字母吗?如果是你可以做text.ToUpper()[0] - 65

标签: c# string int


【解决方案1】:

您的第一个任务是仅捕获输入中的第一个字符:

string str = textBox1.Text;
char chr = str[0]; // get first character

现在可以直接将字符转换为整数,例如:

int number = (int)chr;

但是,字符 'A' 实际上由数字 65、'B' 66 等表示(请参阅 ASCII),因此您必须从输入中减去它以获得预期值:

int value = number - 65;

或者,如果您愿意:

int value = number - (int)'A';

现在您可能想要规范化输入,因此字符 'a' 将被视为 'A',所以最终它看​​起来有点像这样:

string str = textBox1.Text.ToUpperCase();
char chr = str[0];
int number = (int)chr;
int value = number - 65;
MessageBox.Show(value.ToString());

【讨论】:

  • 虽然我同意您的方法,但我认为 a 作为变量在您提到 A 时可能看起来令人困惑,但我也会添加一个 ascii table
猜你喜欢
  • 2022-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-24
相关资源
最近更新 更多