我写了一个随机生成计算公式的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 函数。