JavaScript: 「8進数」⇔「10進数」相互変換

JavaScriptで8進数を10進数へ、10進数を8進数へ変換する方法を紹介します。

8進数から10進数へ変換

8進数から10進数へ変換する場合はparseInt関数を使用します。 第1引数に変換したい8進数の文字列を指定し、 第2引数に基数「8」を指定します。

parseInt("10", 8)   // 8
parseInt("77", 8)   // 63
parseInt("-10", 8); // -8

8進数の場合、第1引数の頭に8進数を意味する「0o」(ゼロ・オー)を付けると parseIntは正常に機能しません。
なので「0o」は付けずにparseInt関数を使用してください。

parseInt("0o10") // 0(機能しない)

10進数から8進数へ変換

10進数から8進数へ変換する場合は、 NumberオブジェクトのtoStringを使用します。 引数に基数「8」を指定します。

let n= 8;
console.log(n.toString(8)); // 10

n = 63
console.log(n.toString(8)); // 77

n = -8
console.log(n.toString(8)); // -10
JavaScript入門