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); // 前ゼロ埋め
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント