一个简单的16进制转换10进制

java中有10进制转换16进制的方法:Integer.toHexString(int a)

暂时没有找到10进制转换16进制的方法,朋友问起我来,就随手写了一个简单的转换,有一定的限制性.

 public static int[] Ten2Sixth(String ten) {

//这里有一定的限制性,解析是以空格隔开的一串字符串.
        String[] str = ten.split(" ");
        int[] temp = new int[str.length];
        for(int i=0;i<str.length;i++) {

//------------1
            String strTemp1 = str[i].substring(0, 1);
            String strTemp2 = str[i].substring(1, 2);
            int intTemp1 = 0;
            int intTemp2 = 0;
            try{
                intTemp1 = Integer.parseInt(strTemp1);
            }catch (Exception e) {
                if(strTemp1.equals("A")){
                    intTemp1 = 10;
                }else if(strTemp1.equals("B")){
                    intTemp1 = 11;
                }else if(strTemp1.equals("C")){
                    intTemp1 = 12;
                }else if(strTemp1.equals("D")){
                    intTemp1 = 13;
                }else if(strTemp1.equals("E")){
                    intTemp1 = 14;
                }else{
                    intTemp1 = 15;
                }
            }
            try{
                intTemp2 = Integer.parseInt(strTemp2);
            }catch (Exception e) {
                if(strTemp2.equals("A")){
                    intTemp2 = 10;
                }else if(strTemp2.equals("B")){
                    intTemp2 = 11;
                }else if(strTemp2.equals("C")){
                    intTemp2 = 12;
                }else if(strTemp2.equals("D")){
                    intTemp2 = 13;
                }else if(strTemp2.equals("E")){
                    intTemp2 = 14;
                }else{
                    intTemp2 = 15;
                }
            }            
            temp[i] = intTemp1*16+intTemp2*1;    
        }
        return temp;
    }

另外上边是针对正确格式的16进制,对于错误格式的,比如其中有G X等这些超过了F所表示的,一律默认为15,对于三个数字这样的错误格式,没有做处理,可以在文章注释“-------1”处做一个判断即可!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值