c# - 文本框将字母转换为数字
问题描述
问题是我不能在文本框中输入像 a 这样的字母。它不会将 a、b 之类的字母转换为数字,所以它不起作用我可以使用什么功能?检查代码:
try
{
if (Convert.ToInt32(textBox1.Text) + Convert.ToInt32(textBox2.Text) + Convert.ToInt32(textBox3.Text) + Convert.ToInt32(textBox4.Text) == 100)
MessageBox.Show("Activated");
else
MessageBox.Show("License key is not valid.", "License key is not valid.", MessageBoxButtons.OK, MessageBoxIcon.Stop);
}
catch (System.FormatException ex)
{
MessageBox.Show(ex.Message);
}
问题是我不能在文本框中输入像 a 这样的字母。
解决方案
如果要解析十六进制数字,请指定 Number 样式,例如:
int.Parse("10026AB0", NumberStyles.AllowHexSpecifier)
或者
bool valid = Int32.TryParse("10026AB0", NumberStyles.AllowHexSpecifier,null, out var number1);
推荐阅读
- android - Flutter 不在命令提示符下在附加设备上运行应用程序,而 android studio 已关闭(仅在 android studio 中运行)
- ruby-on-rails - 具有多态关联的数据库设计和 ActiveRecord 查询
- reactjs - 如何确保在显示另一个组件之前加载 App 组件
- javascript - Moment.js - 如何获取给定月份的每周数据[每周的开始日期和结束日期],不包括上个月和下个月的日期
- python - 在循环中写入文件只写入一次
- python - Selenium / Python:为什么所有检测到的元素在y:1或y:0的y位置都有坐标?
- c++ - 正确重用联合成员的存储并转换所涉及的指针(对象池)
- r - 用于计算向量中点的差异的 R 函数
- postgresql - 在触发器中使用 postgresql CONCAT 函数错误
- sql - 如何使用 RANK OVER PARTITION BY 创建基于两列的排名?