有一个数字类型的16进制字符串,现在要转化为10进制的字符串,那位高手有好的办法。功能要求同vb中的Val("&H","16进制字符串")。比如Val("&H" & "b4303045")结果要求得到-1271910331

解决方案 »

  1.   

    Integer.parseInt(val, 16).toString()
      

  2.   

    String str="b4303045";
           long i=Long.parseLong(str,16);
           int ii=(int)i;
      

  3.   

    String str = "b4303045";

    long l = Long.parseLong(str,16);

    System.out.println(l);
      

  4.   

    原文地址:http://www.java2000.net/p8934
    package net.java2000.lang;/**
     * 字符串和数字进制之间的转换。
     * 
     * @author 赵学庆,Java世纪网(java2000.net)
     * 
     */
    public class NumberFormat {  /**
       * @param args
       */
      public static void main(String[] args) {
        int i = 1023;    // 二进制的转换
        i = Integer.parseInt("1111111111", 2); // 1023
        String s = Integer.toString(i, 2); // 1111111111    // 八进制的转换
        i = Integer.parseInt("1777", 8); // 1023
        s = Integer.toString(i, 8); // 1777    // 十进制的转换
        i = Integer.parseInt("1023"); // 1023
        s = Integer.toString(i); // 1023    // 十六进制的转换
        i = Integer.parseInt("3ff", 16); // 1023
        s = Integer.toString(i, 16); // 3ff    // 其它进制的转换 radix <= Character.MAX_RADIX
        int radix = 32;
        i = Integer.parseInt("vv", radix); // 1023
        s = Integer.toString(i, radix); // vv
      }
    }