3

2 つの変数を除算して変数 v1 を求めると、NaN が返されますか? ただし、document.write を使用すると、他のすべての変数が数値を示します。

    min = 0.001,max = 0.1,
    c1 = (Math.random() * (max - min) + min).toFixed(3);

    min = 0.1,max = 1000,
    kcat = (Math.random() * (max - min) + min);

    var Eo = 0.1;
    var Vmax = (Eo*kcat);

    min = 0.1,max = 100,
    Km = (Math.random() * (max - min) + min);

    v1t = (c1)*(Vmax);
    document.write(v1t); //GIVES NUMBER
    v1b = (c1)+(Km);
    document.write(v1b); //GIVES NUMBER

v1 = v1t / v1b;
document.write(v1); //returns NaN
4

1 に答える 1

3

toFixed文字列を作成します (例: "0.013")。を使用して数値を追加すると、次(c1)+(Km)のような文字列が得られます。

"0.01339.069145169761036"

そして、を使用して数値を文字列で除算しv1t / v1bますNaN

なぜあなたは使用していtoFixedますか?そうする正当な理由はないようです。ただし、本当に使用したい場合parseFloatは、計算で使用する前に結果に適用してください。

于 2013-07-22T10:07:48.927 に答える