2015-04-17 2 views
2

JS:Преобразование значения текстового поля в шестнадцатеричное? Javascript

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 базы), но он не работает. Он работает, если я использую только число как переменную dec, поэтому это должно быть что-то с getElementById.
Любая помощь? Спасибо!

ответ

3

Сначала преобразуйте строку в целое число.
var dec = parseInt(document.getElementById('number').value);

1

dec - это строка. Попробуйте (+dec).toString(16)

1

как это,

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

parseInt() функция анализирует строку и возвращает целое число.

Параметр radix используется, чтобы указать, какая система цифр используется, например, с шестнадцатеричным шестнадцатеричным основанием, указывает, что число в строке должно быть проанализировано от шестнадцатеричного числа до десятичного числа.

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

Вы можете преобразовать число в текстовом поле, чтобы проклясть кулаком Преобразование его в шестнадцатеричную строку с:

hexa_str = _number.toString(16); 

и обратный процесс с:

_number = parseInt(hexa_str , 16); 
Смежные вопросы