【问题标题】:Convert Hexadecimal number to decimal in Java (Android)在Java(Android)中将十六进制数转换为十进制
【发布时间】:2011-12-01 08:08:06
【问题描述】:

如上面的标题所示。我想从EditText获取十六进制数

EditText number = (EditText) findViewById (R.id.etDisplay);
Editable stringEditable = number.getText().toString;
String nuovo = stringEditable.toString();

我想将nuovo 转换为decimal number

【问题讨论】:

标签: java android


【解决方案1】:
int i = Integer.parseInt(nuovo, 16);

【讨论】:

【解决方案2】:
【解决方案3】:

接受的答案在某些情况下会起作用,但如果您的号码可能大于Integer.MAX_VALUE,您可能需要使用以下内容:

public static long hexToLong(String hex) {
    return Long.parseLong(hex, 16);
}

【讨论】:

    【解决方案4】:

    试试Integer.parseInt(nuovo,16)

    【讨论】:

    • 那些降价的人能解释一下原因吗?如果答案中有错误,我们希望更正。
    【解决方案5】:

    这是给你的一个小演示。它使用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);
            }
    
    
        }
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-06
      • 1970-01-01
      • 1970-01-01
      • 2015-01-26
      • 1970-01-01
      • 2011-07-28
      • 1970-01-01
      相关资源
      最近更新 更多