为了账号安全,请及时绑定邮箱和手机立即绑定

为什么 JavaScript 中 0700/100 等于 4.48 而 0900/100 等于 9?

为什么 JavaScript 中 0700/100 等于 4.48 而 0900/100 等于 9?

MYYA 2022-01-01 21:05:40
console.log(0700/100) // result: 4.48console.log(0900/100) // result: 9我通过创建一个计算器应用程序来学习 vue,并使用数组来存储变量。当我通过在实际操作数之前输入 0 来测试它时,我对上述行为感到困惑。
查看完整描述

2 回答

?
MM们

TA贡献1886条经验 获得超2个赞

因为0700以零开头,JS 将其视为八进制(基数为 8)的数字。0900不能是八进制,因此 JS 将其视为常规十进制(基数为 10)数。

0700 octal = 448 decimal, 所以 0700 (octal) / 100 (decimal) = 4.48


查看完整回答
反对 回复 2022-01-01
?
达令说

TA贡献1821条经验 获得超6个赞

当你在数字前加一个 0 时,js 将它转换为八进制,即等于 448。但是 0900 包含 9,所以它不能是八进制,因此它将等于 900。


查看完整回答
反对 回复 2022-01-01
  • 2 回答
  • 0 关注
  • 150 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信