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
。
有帮助吗?谢谢!
答案 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);