int i;
Convert.ToString((Convert.ToInt32(i)),16); //16转10
/// <summary>
/// 十六进制转十进制
/// </summary>
/// <param name="sum">十六进制字符串</param>
/// <returns> 返回一个长整数.如果字符串不是十六形式的则返回-1</returns>
public long convertToint(string sum)
{
long vars = 0;
var c= sum.ToCharArray().Reverse ().ToArray ();
for (int i = 0; i < c.Length; i++)
{
if (isLetters (c[i])==-1)
{
vars = -1;
break;
}
vars += (long)(isLetters(c[i]) * Math.Pow(16, i));
}
return vars;
}
public int isLetters(char c)
{
int i = 0;
switch (c=Char.ToLower (c))
{
case '0': i = 0; break;
case '1': i = 1; break;
case '2': i = 2; break;
case '3': i = 3; break;
case '4': i = 4; break;
case '5': i = 5; break;
case '6': i =6; break;
case '7': i = 7; break;
case '8': i = 8; break;
case '9': i = 9; break;
case 'a': i = 10; break;
case 'b': i = 11; break;
case 'c': i = 12; break;
case 'd': i = 13; break;
case 'e': i = 14; break;
case 'f': i = 15; break;
default:
i = -1;
break;
}
return i;
}
private void tb_shiliudaoshijinzhi_TextChanged(object sender, EventArgs e)
{
TextBox t= sender as TextBox;
string str = t.Text;
var l = convertToint(str);
if (l==-1)
{
tb_result.Text = "你的输入有误!";
}else
tb_result .Text =l .ToString ();
}