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

时间:2013-09-08 12:10:44

标签: javascript jquery

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

是什么导致了这个问题?

我不知道它有什么问题。

如果你知道如何解决这个问题,请帮帮我。

谢谢!

P.S

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

1 个答案:

答案 0 :(得分:10)

  

例如,当 tempX 393 tempY 334且运算符为*时,它返回{{1 }}

1.1766467065868262

看起来你混淆了你的运营商。