如何将Int "09" 解析为9 ?
How to parseInt "09" into 9 ?
包括基数:
parseInt("09", 10);
include the radix:
这让我抓狂 - parseInt("02") 可以工作,但 parseInt("09") 不行。
parseInt("02")
parseInt("09")
正如其他人所说,解决方案是指定基数 10:
这种行为有一个很好的解释 这里
... 在 Javascript 中数字开头带零的被认为是八进制并且八进制中没有 08 或 09,因此问题所在。
This has been driving me nuts -parseInt("02") works but not parseInt("09").
As others have said, the solution is to specify base 10:
There's a good explanation for this behaviour here
... In Javascript numbers startingwith zero are considered octal andthere's no 08 or 09 in octal, hencethe problem.
您还可以执行以下操作:
Number('09') => 9
这在 IE7、IE8、FF3、FF4 和 Chrome 10 上返回整数 9。
You can also do:
This returns the integer 9 on IE7, IE8, FF3, FF4, and Chrome 10.
重新实现现有的 parseInt,以便如果使用一个参数调用它,则“10”将自动包含为第二个参数。
(function(){ var oldParseInt = parseInt; parseInt = function(){ if(arguments.length == 1) { return oldParseInt(arguments[0], 10); } else { return oldParseInt.apply(this, arguments); } } })();
Re-implement the existing parseInt so that if it is called with one argument then "10" is automatically included as the second argument.
parseInt("09",10);
此处返回 9。
这很奇怪。
alert(parseInt("09")); // shows 9. (tested with Opera 10)
returns 9 here.
It is odd.
或者
parseInt(parseFloat("09"));
or
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(6)
包括基数:
include the radix:
这让我抓狂 -
parseInt("02")
可以工作,但parseInt("09")
不行。正如其他人所说,解决方案是指定基数 10:
这种行为有一个很好的解释 这里
This has been driving me nuts -
parseInt("02")
works but notparseInt("09")
.As others have said, the solution is to specify base 10:
There's a good explanation for this behaviour here
您还可以执行以下操作:
Number('09') => 9
这在 IE7、IE8、FF3、FF4 和 Chrome 10 上返回整数 9。
You can also do:
Number('09') => 9
This returns the integer 9 on IE7, IE8, FF3, FF4, and Chrome 10.
重新实现现有的 parseInt,以便如果使用一个参数调用它,则“10”将自动包含为第二个参数。
Re-implement the existing parseInt so that if it is called with one argument then "10" is automatically included as the second argument.
此处返回 9。
这很奇怪。
returns 9 here.
It is odd.
或者
or