-2

私はこの種の長い数式をExcelで使用しており、Webページで使用するためにJavaScriptに変換する必要があります。

式は次のとおりです。

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

B15およびQ2は整数>=0

B15 = 292いつ、Q2 = 251それを出すのに優れています135

それをjavascriptに変換しようとすると、417が出力されます。ご覧のとおり、近くにはありません。

どんな助けでもありがたいです。

編集-

公式は、プレイヤーに与えられたダメージを見つけます。B15は攻撃力であり、Q2は攻撃が通過しなければならない鎧であるため、予想されるダメージは、これらの数値で135になります

4

2 に答える 2

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/

于 2012-06-10T17:20:46.313 に答える
0

大まかな推測ですが、文字どおりに変換した場合、^s は Javascript のビット単位の XOR であるため、問題を引き起こしている可能性があります。代わりにpowメソッドを使用する必要があります。たとえば、式の最初のインスタンスは になりますpow(B15, 3)

于 2012-06-10T17:12:20.087 に答える