【发布时间】:2011-11-12 22:08:24
【问题描述】:
【问题讨论】:
标签: javascript
【问题讨论】:
标签: javascript
解析为八进制数,你也需要指定base:
parseInt("014", 10) // 14
引用:
如果输入字符串以“0x”或“0X”开头,则基数为16 (十六进制)。
如果输入字符串以“0”开头,则基数为八(八进制)。这 功能是非标准的,有些实现故意不 支持它(而不是使用基数 10)。为此,总是 使用 parseInt 时指定基数。
如果输入字符串以任何其他值开头,则基数为 10 (十进制)。
【讨论】:
因为它被解析为八进制数,而不是十进制数。 来自MDC:
要强制它解析为十进制,只需提供 10 作为您的第二个参数(基数)。
var i = parseInt(012,10);
【讨论】:
前导零使数字变为八进制
【讨论】:
八进制数
8 + 4 == 12
【讨论】: