如上标题所示。我想从EditText
EditText number = (EditText) findViewById (R.id.etDisplay);
Editable stringEditable = number.getText().toString;
String nuovo = stringEditable.toString();
我想将nuovo
转换为decimal number
。
答案 0 :(得分:28)
int i = Integer.parseInt(nuovo, 16);
答案 1 :(得分:7)
答案 2 :(得分:4)
尝试Integer.parseInt(nuovo,16)
。
答案 3 :(得分:4)
在某些情况下,接受的答案会有效,但如果您的号码可能大于Integer.MAX_VALUE
,则可能需要使用以下内容:
public static long hexToLong(String hex) {
return Long.parseLong(hex, 16);
}
答案 4 :(得分:1)
这是一个小型演示。它使用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);
}
}
}