如何将excel方程转换为javascript

时间:2012-06-10 16:57:54

标签: javascript excel

我在Excel中有这种长公式,需要将其转换为javscript才能在网页上使用。

公式如下:

  

= IF(B15 / Q2< 1; 0.4 *((B15 ^ 3)/(Q2 ^ 2)) - 0.09 *((B15 ^ 2)/ Q 2)+ 0.1 * B15; B15-(Q2 *( 0.79 * EXP(-0.27 *(Q2 / B15)))))

B15Q2是整数> = 0

在excel时B15 = 292Q2 = 251135放进去。

在我尝试将其转换为javascript时,它会输出417.甚至没有尽可能接近。

任何帮助将不胜感激。

编辑 -

该公式可以找到对玩家造成的伤害。因为B15是攻击等级而Q2是攻击必须经过的装甲。这些数字的预期损失为135

2 个答案:

答案 0 :(得分:1)

试试这个:

var a = 292,
    b = 251,
    c = null;

if(a/b<1)
    c = 0.4*(Math.pow(a,3)/Math.pow(b,2))-0.09*(Math.pow(a,2)/b)+0.1*a
else
    c = a-(b*(0.79 * Math.exp(-0.27*(b/a))))

console.log(c);​

演示:http://jsfiddle.net/g3ZJH/

答案 1 :(得分:0)

一个粗略的猜测,如果你用字面意思转换它,^可能会导致问题,因为这些是Javascript中的按位XOR。您应该使用pow方法。例如,对于公式中的第一个实例,将为pow(B15, 3)