数字を他の進数に変換してくれるjs

Pocket

おはこんばんにちは、雷之電です。

こちらをご覧ください。

screenshot_20181107-1112488075661403928860597.png

左に変換する数(10進数で)、右に変換後の進数の基数を入力しgo!を押すと、

screenshot_20181107-1112535281061808900557419.png

指定した進数に変換してくれます。

screenshot_20181107-1113225778322980248678810.png

左に現在の進数の基数、真ん中に変換する数、右に変換後の進数の基数を入力しgo!を押すと、

screenshot_20181107-1113266225877804753396746.png

変換してくれます。

下段を使えば10進数でない進数の数を10進数に変換することができます。

ものすごくどうでもいいですが、適当な数字を2進数に変換すると暗号っぽいです。

ソースコード


<form name="js">
<input type="text" name="txt1" value="">
を
<input type="text" name="txt2" value="">
進数に変換
<input type="button" value="go!" onclick="go1()"><br>
2進数から36進数まで<br>
<input type="text" name="txt3" value="">
進数の
<input type="text" name="txt4" value="">
を
<input type="text" name="txt5" value="">
進数に変換
<input type="button" value="go!" onclick="go2()">
</form>
</head>
<body>
<script type="text/javascript">
function go1(){
let a=parseInt(document.js.txt2.value);
let b=parseInt(document.js.txt1.value);
alert(b.toString(a));
}
function go2(){
let a=document.js.txt3.value;
let b=parseInt(document.js.txt4.value,a);
let c=b.toString(document.js.txt5.value);
alert(c);
}
</script>

特に解説らしい解説も必要なさそうなコードですが、はじめましての呪文があるのでそれを説明します。

toString(基数)

formのvalueとか数字の入った変数とか.toString(基数)で、数字を他の進数に変換することができます。

parseInt(数字,変換前の基数)

これで10進数以外の数字を10進数にすることができます。

……

2進数、10進数、16進数以外、ぶっちゃけ見たことないです。