无论如何,将十六进制字符串值转换为long?

时间:2019-12-09 17:56:19

标签: java type-conversion

我正在尝试将字符串基址转换为长值,但尝试了其他不起作用的选项。

选项1:Long.valueoflong(String).longValue(); //不起作用

选项2:Long.parseLong(String,16); //不起作用

选项3:BigInteger //不起作用

public class Strconv {

    private static String x1= "0x40000000";
    private static long x2;
    public static void main(String[] args) {
        // TODO Auto-generated method stub


        try {
        x2= Long.valueOf(x1).longValue();
             System.out.println("x2"+x2);
        }
        catch (NumberFormatException e) {

           System.out.println("ERRRORRRRRRRRRRRR");
        }

    }

}

1 个答案:

答案 0 :(得分:1)

如果字符串中没有前导Long.parseLong(x2, 16),则

0x将起作用。

如果您确实有前导0x,则您需要Long.decode