なんだかGoodVibes

日々の勉強メモです。

【Node】進数変換

こんにちは。
本日は、進数の変換をサクッとしてくれるサンプルです。


概要

実行時に数値を設定することで
10進数から2進数、8進数、10進数
への変換を行います。
ファイル名はsample.jsとします。


ソース全体

var input = process.argv.slice(2);
main(input);

function main(input) {
    let d = Number(input);
    if (isNaN(d)) {
        console.log(`数値を設定して下さい。[${input}]`);
        return;
    }

    console.log(`10進数 => ${d}`);
    console.log(`2 進数 => ${d.toString(2)}`);
    console.log(`8 進数 => ${d.toString(8)}`);
    console.log(`16進数 => ${d.toString(16)}`);
}


処理の流れは、

  1. 入力値を数値に変換
let d = Number(input);


2. 数値ではなかった場合、NumberはNaNとなるので
それを利用して数値かどうかの判定を行う

if (isNaN(d)) {
...
}


3. 各進数へ変換を行う
toString()の引数に、変換したい基数を指定

d.toString(n)


実行方法と結果

ファイル名のあとに10進数の数値を指定します。

node sample 17


結果は、以下のようになります。

10進数 => 17
2 進数 => 10001
8 進数 => 21
16進数 => 11



以上です。