[英]Convert Hexadecimal number to decimal in Java (Android)
如上面的标题。 我想从EditText
获取十六进制数字
EditText number = (EditText) findViewById (R.id.etDisplay);
Editable stringEditable = number.getText().toString;
String nuovo = stringEditable.toString();
我想将nuovo
转换为decimal number
。
int i = Integer.parseInt(nuovo, 16);
接受的答案在某些情况下会起作用,但是如果您的电话号码可能大于Integer.MAX_VALUE
,则可能需要使用以下代码:
public static long hexToLong(String hex) {
return Long.parseLong(hex, 16);
}
尝试Integer.parseInt(nuovo,16)
。
这是给您的一个小演示。 它使用java.util.Scanner
进行隐蔽处理。
import java.util.Scanner;
public class hex {
static long dec=0;
static long squ(int i)
{
long pow=16;
if(i==0)
{
return 1;
}
else if(i==1)
{
return pow;
}
else
{
for(int k=2;k<=i;k++)
{
pow=pow*16;
}
return pow;
}
}
public static void main(String[] args) {
Scanner so=new Scanner(System.in);
System.out.println("enter the hexa decimal no");
String hx=so.next();
hx.toLowerCase();
char c[]=hx.toCharArray();
int j=c.length;
int x=j;
int i=0;
j--;
while(j>=0)
{
if(c[j]=='a'|c[j]=='b'|c[j]=='c'|c[j]=='d'|c[j]=='e'|c[j]=='f'|c[j]=='1'|c[j]=='2'|c[j]=='3'|c[j]=='4'|c[j]=='5'|c[j]=='6'|c[j]=='7'|c[j]=='8'|c[j]=='9')
{
j--;
}
else
{
i++;
break;
}
}
if(i>0)
{
System.out.println("its not hex decimal no");
}
else
{
System.out.println("it s hex decimal no");
x--;
int xy=0;
while(x>=0)
{
long z=squ(xy);
++xy;
char r=c[x];
String s=""+r;
switch(s)
{
case "a": dec=dec+(10*z);
break;
case "b": dec=dec+(11*z);
break;
case "c": dec=dec+(12*z);
break;
case "d": dec=dec+(13*z);
break;
case "e": dec=dec+(14*z);
break;
case "f": dec=dec+(15*z);
break;
case "1": dec=dec+(1*z);
break;
case "2": dec=dec+(2*z);
break;
case "3": dec=dec+(3*z);
break;
case "4": dec=dec+(4*z);
break;
case "5": dec=dec+(5*z);
break;
case "6": dec=dec+(6*z);
break;
case "7": dec=dec+(7*z);
break;
case "8": dec=dec+(8*z);
break;
case "9": dec=dec+(9*z);
break;
case "0": dec=dec+(0*z);
break;
default:System.out.println("cant find****"+s);
break;
}
x--;
}
System.out.println("final decimal equ is*****"+dec);
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.