2014-02-20 3 views
0

Как преобразовать базу 10 в базу 8 в javascript? Я попытался с parseInt(text, 8), но проблема в том, когда я пишу 8 или 9 он говорит NaN я знаю, 8 и 9 не существует в базе 8. Но он должен сказать 10 и 11 вместо NaNJavascript, base 10 to base 8

EDIT: Здесь целая функция

  function toBaseEight(){ 
       var text = document.getElementById('base10').value; 
       var base8 = parseInt(text, 8); 
       document.getElementById('base8').innerHTML = base8; 
      } 
+0

Проверьте, не помогает ли это: - http://david.tribble.com/src/javascript/jsconvert.html –

ответ

1

попробуйте следующий код

text.toString(8); 

или попробовать

parseInt(text).toString(8) 
+0

Это просто возвращает число без его преобразования. – Yemto

+0

попробовать этот 'ParseInt (текст) .ToString (8)' – Sarath

+0

отредактированный комментарий, пожалуйста, проверьте – Sarath

9

вы можете передать десятичную к toString():

> (9).toString(8) 
11 

в вашем конкретном случае, вы можете написать:

document.getElementById("base8").innerHTML 
    = parseInt(document.getElementById("base10").value, 10).toString(8); 
0

Попробуйте (number).toString(8). Или вы можете использовать parseInt ("number", 8). Вы, должно быть, забыли цитаты.

+0

Я тестировал различные версии toString. но он все еще не работает. – Yemto

0

Вы должны помнить, что номер на левой стороне кронштейна к основанию системы счисления в правой руке так что он возвращает десятичный эквивалент.

parseInt(10, 8) просит 1 × 8^1 + 0 × 8^0 = 8

parseInt(12, 8) просит 1 × 8^1 + 2 × 8^0 = 8 + 2 = 10

parseInt(7, 8) является просить 7 × 8^0 = 7

Поэтому довольно трудно иметь 9 выйти в 11 в 13 в восьмеричной является 11 ...

Вы можете сделать, как ответы выше, упомянутые преобразовать десятичное число до восьмеричного, а не наоборот, что и есть rseInt: (x).toString(y)

Смежные вопросы