Col*_*der 19 javascript tostring
使用时将十进制数转换为10以上的基数.toString(base),似乎我总是得到一个小写字符串.我可以依靠吗?大写字符串是正确的,但需要转换为我的应用程序.
引用定义此规范的部分(我看起来也找不到它)以及任何反例(返回大写的浏览器)的额外功劳.
例:
(12648430).toString(16) // returns: "c0ffee". Not "C0FFEE"
Run Code Online (Sandbox Code Playgroud)
T.J*_*der 19
可能.它在第5版规范§15.7.4.2中定义:
如果ToInteger(radix)不是2到36之间的整数,则抛出RangeError异常.如果ToInteger(radix)是2到36之间的整数,但不是10,则结果是使用指定基数的此Number值的String表示形式.字母az用于值为10到35的数字.如果基数不是10,则精确算法是依赖于实现的,但算法应该是9.8.1中指定的算法的概括.
(我的重点)
但是,第3版规范(从1999年开始)并未说明,它只是说:
如果radix是2到36之间的整数,但不是10,则结果是一个字符串,其选择取决于实现.
...所以你可能会在野外找到使用大写的引擎(或完全不同的东西).我说这是不太可能的,如果有重要的已知实现没有那种行为,他们通常不会在规范中添加类似的东西.我在当前版本的Chrome,Firefox和Opera以及IE8甚至IE6上获得了小写.所以我说它可能相当一致.
| 归档时间: |
|
| 查看次数: |
6441 次 |
| 最近记录: |