带有前导零的 Javascript parseInt()

标签 javascript

Javascript 的 parseInt 函数似乎没有完全起作用。

parseInt("01") returns 1
parseInt("02") returns 2
parseInt("03") returns 3
parseInt("04") returns 4
parseInt("05") returns 5
parseInt("06") returns 6
parseInt("07") returns 7
parseInt("08") returns 0
parseInt("09") returns 0

你无法解释。 Give it a try. (jsFiddle)

编辑 由于提出并回答了这个问题,默认为八进制基数的“功能”已被弃用。 [ 1 ] [ 2 ]

最佳答案

这是因为如果一个数字以“0”开头,它将被视为以 8 为基数(八进制)。

您可以通过将基数作为第二个参数传递来强制使用基数。

parseInt("09", 10) // 9

根据 the docs ,第二个参数是可选的,但它并不总是假定为 10,正如您从示例中看到的那样。

关于带有前导零的 Javascript parseInt(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8763396/

相关文章:

javascript - 从数字数组中删除一个数字以对数组进行排序

javascript - 如何验证单选按钮?

javascript - 使用 ControllerAs 和 Ng-Show 测试数据指令

javascript - react 中的脚本加载

javascript - JSON 数据 - 使用 $http 的 Angular js 中的 data.push()

javascript - Canvas 中的可点击图像

javascript - 从 html 表单向 api mandrill 发送 json 消息

javascript - 如何在gwt中处理浏览器事件?

javascript - 如何在 ReactJS 中更改按钮文本

javascript - 嵌入式 mp3 的 Quicktime 新外观