2010-04-13 51 views

回答

23

附加参数仅适用于Number.prototype.toString指定基数(2和36之间的整数指定基地使用用于表示数字值):

var number = 12345; 
number.toString(2) === "11000000111001" 
number.toString(3) === "121221020" 
// … 
number.toString(36) === "9ix" 
+1

MDN给出了一个关于这个主题的很好的解释:https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Number/toString – luissquall 2012-08-15 03:07:50

2

它不是定义为全球适用的参数toString ,它只对Number有意义,它指定了写入的基础。您可以使用例如。 n.toString(16)转换为十六进制。

其他内置对象不使用任何参数,JavaScript将默默忽略未使用的参数,因此将16传递给任何其他toString方法都没有区别。你当然可以制定你自己的toString方法,其中可选参数可以表示你喜欢的任何东西。

9

这仅适用于数量的对象,目的是给你一定的基数显示号码的方法:

var n = 256; 
var d = n.toString(10); // decimal: "256" 
var o = n.toString(8); // octal: "400" 
var d = n.toString(16); // hex:  "100" 
var b = n.toString(2); // binary: "100000000" 
var w = n.toString(20); // base 20: "cg" 

注意,基数必须在2到36或toString()之间的整数,将提高一个错误。

+0

对此的最新评论,它是缺乏进行编辑。但'var b = n.toString(16); //二进制:“100000000”'实际上应该是'n.toString(2)',因为二进制是基于2,我假设它只是一个复制粘贴的东西! – Rchristiani 2012-11-08 18:08:41

+0

@Rrisristiani绝对。编辑本来是完美的,但现在我自己改变了它。感谢提示! – Tomalak 2012-11-08 20:41:32

相关问题