3

当我将两个变量相除以给出变量 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 回答