将文本框值转换为十六进制?使用Javascript

时间:2015-04-17 04:31:14

标签: javascript

JS:

function toHex() {
    var dec = document.getElementById('number').value;
    var hex = dec.toString(16);
    document.getElementById('number').value = hex;
}

HTML:

    <input type="text" id="number" placeholder="decimal" onkeypress="return isNumber(event)"> <br>
    <input type="button" id="toHex" onclick="toHex()" value="To Hex">

我试图让按钮将文本框中的数字转换为十六进制(16 base),但它不起作用。如果我只使用一个数字作为dec变量,它就可以工作,所以它必须是getElementById
有帮助吗?谢谢!

5 个答案:

答案 0 :(得分:3)

首先将字符串转换为整数 var dec = parseInt(document.getElementById('number').value);

答案 1 :(得分:1)

dec是一个字符串。试试(+dec).toString(16)

答案 2 :(得分:1)

像这样,

var dec = parseInt(document.getElementById('number').value);

parseInt()函数解析字符串并返回一个整数。

radix参数用于指定要使用的数字系统,例如,16(十六进制)的基数表示字符串中的数字应从十六进制数解析为十进制数。

答案 3 :(得分:0)

答案 4 :(得分:0)

_number =  parseInt(document.getElementById('number').value)

您可以将文本框中的数字转换为十六进制,然后将其转换为十六进制字符串:

 hexa_str = _number.toString(16);

并通过以下方式撤消该过程:

_number = parseInt(hexa_str , 16);