我在正整数之前有一些零。我想删除零,所以只剩下正整数。像'001'只会是'1'。我认为最简单的方法是使用parseInt('001')。但我发现它不适用于数字8和9.示例parseInt('008')将导致'0'而不是'8'。
以下是整个HTML代码:
<html> <body>
<script>
var integer = parseInt('002');
document.write(integer);
</script>
</body> </html>
但我可以以某种方式报告此问题吗?有人知道另一个简单的解决方法吗?
答案 0 :(得分:15)
您必须指定数字的基数(基数)
parseInt('01', 10);
答案 1 :(得分:10)
这是记录在案的行为:http://www.w3schools.com/jsref/jsref_parseInt.asp
前导'0'的字符串被解析为好像是八进制。
答案 2 :(得分:3)
前缀为零的数字被解析为八进制。
答案 3 :(得分:1)
这实际上不是一个错误。由于遗留原因,以0开头的字符串以八进制解释,而八进制则没有数字8.要解决这个问题,你应该明确地传递一个基数(即parseInt("008", 10)
)。