Javaで10進数⇔16進数に変換する際に前ゼロを付ける

Javaで10進数⇔16進数に変換する際に前ゼロを付ける

10進数から16進数

Javaで10進数から16進数に変換するにはInteger.toHexStringメソッドを使用します。

for (int i = 0; i <= 16; i++) {
  String hex = Integer.toHexString(i);
  System.out.println(hex);
}

以下のようになります。戻り値がString型なので前ゼロで埋めることが出来ません。(前に半角スペースとなる)

0
1
2
3
4
5
6
7
8
9
a
b
c
d
e
f
10

String.formatメソッドで前ゼロを付ける

1を16進数に変換する際に01というように前ゼロで埋めて2桁にしたい場合はInteger.valueOfメソッドとString.formatメソッドで変換します。

for (int i = 0; i <= 16; i++) {
  String hex = String.format("%02x", Integer.valueOf(i));
  System.out.println(hex);
}

以下のように1桁の場合は前ゼロを付けて、2桁の場合はそのまま表示されるようになります。

00
01
02
03
04
05
06
07
08
09
0a
0b
0c
0d
0e
0f
10

16進数から10進数

16進数から10進数に変換するにはInteger.parseIntメソッドで簡単に変換することが出来ます。

String v = "0d"; // 16進数
final Integer n1 = Integer.parseInt(v, 16); // 10進数に変換
final String ch1 = String.format("%02d", n1); // 前ゼロ埋め

コメント

株式会社CONFRAGE ITソリューション事業部をもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む

タイトルとURLをコピーしました