2014-02-20 46 views
0

如何在JavaScript中将base 10转换为base 8?我试着用parseInt(text, 8)但是,问题是,当我写8,9它说NaN我知道8,9做基础8.不存在,但应该说,10和11,而不是NaNJavascript,base 10 to base 8

编辑:这里是全功能

  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)