2016-04-15 5 views
1

問題:コードを実行してもエラーは発生しませんが、別の合計が得られますが、理由を特定できません。私が集めることができる最高の機能は、最初のMath.powに到達するまでポイント上にあります。そこには良い方法がありますか?excel式をJavaScriptに変換する

Excelの数式

=0.25/( LOG(
     $I$6/3.7 + 5.74/G18^0.9 
    ))^2 


Sum of excel formula is 0.0186 

マイJavaScriptを事前に

var test = function() { 
    var num = 0.00006/3.7; 
    var num2 = Math.pow(90068.45754973275, 0.9); 
    var num3 = 5.74/num2; 
    var num4 = num + num3; 
    var num5 = Math.log(num4); 
    var num6 = Math.pow(num5, 2); 
    var num7 = 0.25/num6; 
    return +num7.toFixed(4); 
}; 


Before .toFixed(4) sum is 0.0035080344556698015 
After sum is 0.0035 

ありがとう!

+0

申し訳ありませんが、まだ十分な代理店ポイントがありません。フィードバックをお寄せいただきありがとうございます。 –

答えて

0

JavaScript LOGは自然対数の底であり、ExcelのLOG関数は10進数の対数です。

0

Num3が間違っています。それは反転する必要があります。

var num3 = 5.74/num2; 

またnum4はNUM + NUM3する必要があります:誰でも答えはMath.log10(で関心がある場合

var num4 = num + num3 
+0

私はまだ右の合計を得ていませんよ、今は何が得られているのですか0.0035080344556698015 –

+0

「+ num7」をnum7だけ置き換えるとどうなりますか? –

+0

ベース2ログ、lnベースまたはベース10ログを探していますか?たぶんこれらは同じログの9番目です。どちらの場合もベースを指定してみてください –

0

)。

関連する問題