【问题标题】:What does it mean when there is a number parameter passed to toString?有一个数字参数传递给toString是什么意思?
【发布时间】:2010-04-13 16:36:03
【问题描述】:

我只是想知道将数字作为参数附加到toString() 方法意味着什么

例如obj.toString(10);

我用谷歌搜索过,我以前从未见过参数。

【问题讨论】:

    标签: javascript tostring


    【解决方案1】:

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

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

    【讨论】:

    【解决方案2】:

    这仅适用于 Number 对象,旨在为您提供一种显示具有特定基数的数字的方法:

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

    请注意,基数必须是 2 到 36 之间的整数,否则toString() 将引发错误。

    【讨论】:

    • 对此发表迟到的评论,并且缺少编辑。但是var b = n.toString(16); // binary: "100000000" 实际上应该是n.toString(2),因为二进制是以 2 为基数的,我认为这只是一个复制粘贴的东西!
    • @Rchristiani 绝对。编辑本来是完美的,但现在我自己改变了。感谢您的提示!
    【解决方案3】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-06
      • 2013-01-24
      • 1970-01-01
      • 1970-01-01
      • 2020-08-18
      相关资源
      最近更新 更多