【发布时间】:2017-05-11 05:14:35
【问题描述】:
我们正在办公室讨论这个数学到底是如何在 JavaScript 中运行的。
有一个例子,我们乘以 010 而不是 10,这给出了不正确的返回值。
例如...
25.25 * 010 = 202
25.25 * 10 = 252.5 符合预期
更奇怪的是,如果你执行 parseFloat(010),它会给你 8!
【问题讨论】:
标签: javascript math numbers
我们正在办公室讨论这个数学到底是如何在 JavaScript 中运行的。
有一个例子,我们乘以 010 而不是 10,这给出了不正确的返回值。
例如...
25.25 * 010 = 202
25.25 * 10 = 252.5 符合预期
更奇怪的是,如果你执行 parseFloat(010),它会给你 8!
【问题讨论】:
标签: javascript math numbers
因为 010 是十进制的 8,所以它得到 202。
console.log(25.25 * 010);
【讨论】:
查看 Java 的这个答案:Why "010" equals 8?。 JavaScript 也必须这样做。
答案是,一个 八进制 数字以前导零 0 开头。
【讨论】: