Java - 16進数を10進数に変換

16進数の文字列を10進数(int、long)に変換する方法を紹介します。

1. 16進数をint型の10進数に変換

1.1 Integer.decode()

Integer.decode()0x00 のように 0x で始まる 16 進数の文字列を 10 進数に変換します。

public class Example {

    public static void main(String[] args) {

        String hex = "0x7FFFFFFF";

        int decimal = Integer.decode(hex);
        System.out.println(decimal);
    }
}

Output:

2147483647

1.1 Integer.parseInt()

Integer.parseInt(hex, 16)0x のない 16 進数文字列を 10 進数に変換します。

public class Example1 {

    public static void main(String[] args) {

        String hex = "7FFFFFFF";

        int decimal = Integer.parseInt(hex, 16);
        System.out.println(decimal);
    }
}

Output:

2147483647

2. 16進数をlong型の10進数に変換

int サイズを超える 16 進数は long 型に変換する必要があります。

2.1 Long.decode()

Long.decode()0x で始まる 16 進数文字列を 10 進数に変換します。

public class Example2 {

    public static void main(String[] args) {

        String hex = "0x7FFFFFFFFFFFFFF";

        long decimal = Long.decode(hex);
        System.out.println(decimal);
    }
}

Output:

576460752303423487

2.2 Long.parseLong()

Long.parseLong(hex, 16)0x のない 16 進数文字列を 10 進数に変換します。

public class Example2 {

    public static void main(String[] args) {

        String hex = "7FFFFFFFFFFFFFF";

        long decimal = Long.parseLong(hex, 16);
        System.out.println(decimal);
    }
}

Output:

576460752303423487
codechachaCopyright ©2019 codechacha