如何用C#把十六进制转换成十进制的代码?
publicstringDtoX(intd)
{
stringx="";
if(d<16)
{
x=chang(d);
}
else
{
intc;
ints=0;
intn=d;
inttemp=d;
while(n>=16)
{
s++;
n=n/16;
}
string[]m=newstring[s];
inti=0;
do
{
c=d/16;
m[i++]=chang(d%16);//判断是否大于10,如果大于10,则转换为A~F的格式
d=c;
}while(c>=16);
x=chang(d);
for(intj=m.Length-1;j>=0;j--)
{
x+=m[j];
}
}
returnx;
}
//判断是否为10~15之间的数,如果是则进行转换
publicstringchang(intd)
{
stringx="";
switch(d)
{
case10:
x="A";
break;
case11:
x="B";
break;
case12:
x="C";
break;
case13:
x="D";
break;
case14:
x="E";
break;
case15:
x="F";
break;
default:
x=d.ToString();
break;
}
returnx;
}
可以用int aaa int = Convert.ToInt32(aaa,16); 来转换。十六进制的ABCD = 十进制的(((A*16+B)*16+C)*16+D)*16。
一、用ToString()方法就行int i = 13。string s = i.ToString("X2")。ToString()的参数 X表示十六进制字符串,数字2表示显示位数结果为:0Dstring s = i.ToString("X1")。结果为:D
二、操作代码:intmyTempR=int.Parse(this.myBnum.Text,System.Globalization.NumberStyles.HexNumber);for ( int i=0; i<this.myRnum.Text.Length; i+=2 ) { myTempR -=int.Parse(this.myRnum.Text.Substring(i,2),System.Globalization.NumberStyles.HexNumber);} int myTemp01 = myTempR.ToString("X").Length;if ( myTemp01 > 4 ) this.myResult.Text = myTempR.ToString("X").Substring(myTemp01-4); else this.myResult.Text=myTempR.ToString("X")。
三、string s = ""; //一串字符string[] a = s.ToString().Split(' ');for(int i = 0; i < a.Length; i ++)
{int b = Convert.ToInt32(a[i],16);}。