gpt4 book ai didi

如果使用的数字以 0 开头,则计算数学表达式时的 Javascript eval 会给出错误的输出

转载 作者:行者123 更新时间:2023-12-03 11:25:59 25 4
gpt4 key购买 nike

所以当我使用时:

eval('03*3');

我应该得到 9。但是当我使用时:

eval('033*3');

我得到 81 而不是 99。我确信这个结果有一个很好的解释,但我找不到答案。谁能解释一下?

最佳答案

在 JavaScript 中,与在 C 和 C++ 中一样,以零开头的数字常量被解释为 base-8(八进制)值。因此 033 是十进制的 27 (3 * 8 + 3)。您的第一个示例有效,因为 03(八进制 3)与十进制 3 相同,因为 3 是 3。多位数的值将关闭。

关于如果使用的数字以 0 开头,则计算数学表达式时的 Javascript eval 会给出错误的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18645153/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com