private void button1_Click(object sender, System.EventArgs e) { long Int=0; int Num=0; string str=textBox1.Text.Trim(); int len=str.Length; for(int i=0;i<len;i++) { Num=num(str.Substring(i,1)); \\将str中的值全部转换为整数 if (Num>=0) \\当值符合要求时,进行转换 { Int=Int*16+Num; \\将16进制转换为10进制 } else { MessageBox.Show("您输入的十六进制有错误,请重新输入"); break; } } textBox1.Text=Convert.ToString(Int); }\\将str中的值全部转换为整数,并返回一个整数值 public int num(string str) { int Num; switch(str) { case "a": case "A": Num=10; break; case "b": case "B": Num=11; break; case "c": case "C": Num=12; break; case "d": case "D": Num=13; break; case "e": case "E": Num=14; break; case "f": case "F": Num=15; break; case "0": case "1": case "2": case "3": case "4": case "5": case "6": case "7": case "8": case "9": Num=Convert.ToInt16(str); \\将字符转换为整数 break; default: Num=-1; break; } return Num; }暂时只想到这个方法,不过肯定可以实行转换,已通过验证 若有新的方法,我会即时补充
{
long Int=0;
int Num=0;
string str=textBox1.Text.Trim();
int len=str.Length;
for(int i=0;i<len;i++)
{
Num=num(str.Substring(i,1)); \\将str中的值全部转换为整数
if (Num>=0) \\当值符合要求时,进行转换
{
Int=Int*16+Num; \\将16进制转换为10进制
}
else
{
MessageBox.Show("您输入的十六进制有错误,请重新输入");
break;
}
}
textBox1.Text=Convert.ToString(Int);
}\\将str中的值全部转换为整数,并返回一个整数值
public int num(string str)
{
int Num;
switch(str)
{
case "a":
case "A":
Num=10;
break;
case "b":
case "B":
Num=11;
break;
case "c":
case "C":
Num=12;
break;
case "d":
case "D":
Num=13;
break;
case "e":
case "E":
Num=14;
break;
case "f":
case "F":
Num=15;
break;
case "0":
case "1":
case "2":
case "3":
case "4":
case "5":
case "6":
case "7":
case "8":
case "9":
Num=Convert.ToInt16(str); \\将字符转换为整数
break;
default:
Num=-1;
break;
}
return Num;
}暂时只想到这个方法,不过肯定可以实行转换,已通过验证
若有新的方法,我会即时补充