2012-06-10 161 views
-2

我在Excel中有這種長公式,需要將它轉換爲javscript以便在網頁上使用。如何將excel公式轉換爲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)))))

B15Q2是整數> = 0

在Excel時B15 = 292Q2 = 251它出135

在我試圖將其轉換爲JavaScript出來放417甚至沒有接近你可以看到。

任何幫助將不勝感激。

編輯 -

的公式查找完成對玩家的損害。由於B15是攻擊等級,Q2是攻擊必須穿過的裝甲。預計的損害將是135與這些數字

+1

你介意告訴我們的配方做什麼(在數學的方式像X *(Y^2)+ 5)? –

+0

實際公式是什麼? –

+1

你確定你分享的Excel公式是正確的嗎?對我來說似乎是分號「;」應改爲逗號「,」以使配方工作。 – mg1075

回答

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/

+0

這解決了它。謝謝。 – user1376159

0

一個粗略的猜測,如果你轉換它,而不是字面上,^ s可能會導致問題,因爲那些是在Javascript中按位異或。您應該改用pow方法。例如,對於您的公式中的第一個實例將是pow(B15, 3)