JavaScript 10進数/26進数変換

■10進数を26進数に変換します。

  26進数は「A」をゼロとし、「Z」を25とするようにしました。

 

■また26進数を10進数に変換することもできる。

 

index.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>10進数 -> 16進数</title>
<script>
var hexList = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"];
var hexStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

window.onload =function() {
    var intValue = document.getElementById("intValue");
    var hexValue = document.getElementById("hexValue");
    var convert = document.getElementById("convert");
    var convert10 = document.getElementById("convert10");
}

function doConvert() {
    if (isNaN(intValue.value)) {
        // 数値ではない場合
        aleart("数値を入力して下さい。");
    } else {
        doConvert2();
    }
}
function doConvert2() {
    let data1 = intValue.value;
    let data2;
    //var outDat=""; // = new Array(10);
    var outDat = new Array(10);


    for (let i=0; i<10; i++)
    {
        outDat[i] = -1;
    }


    var ix=0;
    while (true)
    {
        data2 = Math.floor(data1 / 26);
        outDat[ix] = data1 % 26;
        if (data2 == 0) break;
        data1 = data2;
        ix++;
    }

    var outStr="";
    for (var i = ix ; i>=0; i--) {
        outStr += hexList[outDat[i]];
    }
    hexValue.value = outStr;
}
function doConvert10() {
    let data1 = hexValue.value;
    let data2 = 0;
    let data3 = 0;
    //var outDat=""; // = new Array(10);
    var outDat = new Array(10);

    data2 = data1
    for (let ix = 0; ix < data1.length; ix++)
    {
        data2 = hexStr.indexOf(data1.charAt(ix));
        if (data2 < 0) {
            alert("入力値エラー");
            break;
        }
        data3 = data2 + data3 * 26;
    }
    intValue.value = data3;
}
</script>

</head>
   
<body>
    <p>10進数<input type="text" id="intValue" size="5" value=""></p>
    <p><input type="button" id="convert" size="3" value="変換10->26" onclick="doConvert()"></p>
    <p>26進数<input type="text" id="hexValue" size="5" value=""></p>
    <p><input type="button" id="convert10" size="3" value="変換26->10" onclick="doConvert10()"></p>
</body>
</html>

 

10進数26進数 変換
sinsuu10_26.html
HTMLドキュメント 2.1 KB