为什么 (00123 + 34351) 在 javascript、java 和 python 中返回 34434?正确答案是 34474

Sai*_*uha 0 javascript python math base addition

console.log(00123 + 34351); //in javascript, outputs 34434
print(00123 + 34351); //in python, outputs 34434
Run Code Online (Sandbox Code Playgroud)

在javascript中,在python中输出34434,输出34434

然而,去除前导零,即 (123 + 34351) 给出正确答案,即 34474

Dan*_*ong 5

0 是八进制的常用前缀,其十进制数为 83。

console.log(00123+34351)
Run Code Online (Sandbox Code Playgroud)

相当于

console.log(83+34351)
Run Code Online (Sandbox Code Playgroud)

编辑:请注意,在 python 3+ 中,前缀是 0o