16进制转10进制

Java代码   收藏代码
  1. public class HexToDecimal {  
  2.     public static void main(String[] args) {  
  3.         System.out.println((char) hexToDecimal("4e2d"));//中  
  4.     }  
  5.   
  6.     private static int hexToDecimal(String hex) {  
  7.         char ch;  
  8.         int len = hex.length();  
  9.   
  10.         int value = 0;  
  11.         for (int x = 0; x < len;) {  
  12.             ch = hex.charAt(x++);  
  13.             switch (ch) {  
  14.             case '0':  
  15.             case '1':  
  16.             case '2':  
  17.             case '3':  
  18.             case '4':  
  19.             case '5':  
  20.             case '6':  
  21.             case '7':  
  22.             case '8':  
  23.             case '9':  
  24.                 value = (value << 4) + ch - '0';  
  25.                 break;  
  26.             case 'a':  
  27.             case 'b':  
  28.             case 'c':  
  29.             case 'd':  
  30.             case 'e':  
  31.             case 'f':  
  32.                 value = (value << 4) + 10 + ch - 'a';  
  33.                 break;  
  34.             case 'A':  
  35.             case 'B':  
  36.             case 'C':  
  37.             case 'D':  
  38.             case 'E':  
  39.             case 'F':  
  40.                 value = (value << 4) + 10 + ch - 'A';  
  41.                 break;  
  42.             default:  
  43.                 throw new IllegalArgumentException(ch + "'snt hex char.");  
  44.             }  
  45.         }  
  46.   
  47.         return value;  
  48.     }  
  49. }  

 

当然在平时使用时,我们一般使用Integer.parseInt方法来转换即可,这里只是另一种实现罢了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值