Javascript - 包括“*”或“/”的计算给了我一个错误的答案

Javascript - calculation including either "*" or "/" gives me a wrong answer

本文关键字:答案 一个 错误 计算 包括 Javascript      更新时间:2023-09-26

我写了一个随机生成计算公式的javascript代码。

代码会随机生成类似的东西。

134 + 333 = 467

10 * 3 = 30

9/3 = 3

130 - 20 = 110

为了生成这样的东西,我有如下所示的代码。

var myCal = [
    function(a, b){return a + b;}, 
    function(a, b){return a - b;}, 
    function(a, b){return a / b;}, 
    function(a, b){return a * b;}
];
var tempX = parseInt(Math.random()*1000),
    tempY = parseInt(Math.random()*1000),
    tempNum = parseInt(Math.random()*4),
    result;
result = myCal[tempNum](tempX, tempY);

但是,问题是当它生成包含"*"或"/"的计算公式时,它会返回错误的答案。

例如,当 tempX 为 393 且 tempY 为 334 且运算符为 * 时,它返回 1.1766467065868262。

是什么导致了这个问题?

我不知道它有什么问题。

如果您知道如何解决此问题,请帮助我。

谢谢!!

附言

由于我正在构建Chrome扩展程序,因此他们的安全策略不允许我使用eval功能。这就是为什么我有自己的myCal函数。

例如,当 tempX 393tempY 334 且运算符* 时,它返回 1.1766467065868262

393 * 334; // 131262
393 / 334; // 1.1766467065868262

看起来你混淆了你的运算符。

相关文章: