for(int i=1;i<=str.length();i++) 
{ 
cha=str.charAt(str.length()-i); 
switch(cha) 
{ 
case '1': lg=lg+1*jing;break; 
case '2': lg=lg+2*jing;break; 
case '3': lg=lg+3*jing;break; 
case '4': lg=lg+4*jing;break; 
case '5': lg=lg+5*jing;break; 
case '6': lg=lg+6*jing;break; 
case '7': lg=lg+7*jing;break; 
case '8': lg=lg+8*jing;break; 
case '9': lg=lg+9*jing;break; 
case 'A': lg=lg+10*jing;break; 
case 'B': lg=lg+11*jing;break; 
case 'C': lg=lg+12*jing;break; 
case 'D': lg=lg+13*jing;break; 
case 'E': lg=lg+14*jing;break; 
case 'F': lg=lg+15*jing;break;} 
jing*=j; //位权升一级,为下次使用做好准备 
} 
return Long.toString(lg); 
}//end String goto_10() method 
//十进制转换成十辣进制 
//------------------------------------- 
public String goto10_16(String s) 
//参数s: 是要转换的字符串,由于输入的控制,保证了字符串的合法性; 
{ String str=s; //用来转换的字符串 
String st=new String();//用来记录16进制值的字符串 
long ch; //每次取余有的值 
int k; //将每次取余有的值转换成整形,用来选择转换的16进制字符 
long lg;//用来转换的10进制数 
if(str.charAt(0)=='-') //如果有负号则出去负号 
str=str.substring(1,str.length()-1); 
if(str.indexOf('E')!= -1)//如果是科学计数值则出去小数点和E后面的数 
str=str.charAt(0)+str.substring(2,str.indexOf('E')); 
if (str.indexOf('.')!= -1)//如果有小数点则出去小数点及小数点后面的内容 
str=str.substring(0,str.indexOf('.')); 
lg=Long.parseLong(str);//将简化的字符串转化为长整形给lg 
while (lg>=16) 
{ ch=lg%16; 
k=(int)ch; 
switch (k) 
{case 10: st="A"+st;break; 
case 11: st="B"+st;break; 
case 12: st="C"+st;break; 
case 13: st="D"+st;break; 
case 14: st="E"+st;break; 
case 15: st="F"+st;break; 
default: st=Long.toString(ch)+st; 
} 
lg=lg/16; 
} 
k=(int)lg; 
switch (k) 
{case 10: st="A"+st;break; 
case 11: st="B"+st;break; 
case 12: st="C"+st;break; 
case 13: st="D"+st;break; 
case 14: st="E"+st;break; 
case 15: st="F"+st;break; 
default: st=Long.toString(lg)+st; 
} 
return st; 
}//end goto10_16() method 
//----------------------------------------------- 
//十进制转换成八进制? 
public String goto10_8(String s) 
//参数s: 是要转换的字符串,由于输入的控制,保证了字符串的合法性; 
{ String str=s; 
String st=new String(); 
long j=8,ch; 
long lg; 
if(str.charAt(0)=='-') //如果有负号则出去负号 
str=str.substring(1,str.length()-1); 
if(str.indexOf('E')!= -1)//如果是科学计数值则出去小数点和E后面的数 
str=str.charAt(0)+str.substring(2,str.indexOf('E')); 
if (str.indexOf('.')!= -1)//如果有小数点则出去小数点及小数点后面的内容 
str=str.substring(0,str.indexOf('.')); 
lg=Long.parseLong(str); 
while (lg>=j) 
{ ch=lg%j; 
st=Long.toString(ch)+st; 
lg=lg/j; 
} 
st=Long.toString(lg)+st; 
return st;
上一页 [1] [2] [3] [4] [5] [6] [7] 下一页