2013-07-22 4 views
3

두 변수를 나누어 변수 v1을 주면 NaN? 내가두 변수를 나눕니다. NaN

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 
+0

첫 번째'document.write를()'인쇄'BTW ... – MyPasswordIsLasercats

+2

먼저 null가 아닌 변수 v1b을 확인 v1b'/제로 –

+0

나는 v1b을 변경 - document.write를 나에게 제공 : 7.311683935222926 및 0.07472.59526266876507 – danieljames

답변

3

toFixed (예 "0.013"을 위해) 문자열을 구축 document.write를 사용하는 경우에는, 다른 모든 변수가 숫자를 제공합니다.

"0.01339.069145169761036" 

그리고 v1t/v1b를 사용하여 문자열로 숫자를 나누어은 NaN을 제공합니다 : 당신이 (c1)+(Km)를 사용하여 번호를 추가 할 때,이 같은 문자열을 제공합니다.

toFixed을 왜 사용하고 있습니까? 그렇게할만한 이유가없는 것 같습니다. 그러나 실제로 사용하고 싶다면 계산에 사용하기 전에 결과에 parseFloat을 적용하십시오.

+0

덕분에이 내가 C 값을 나중에 표시하고 너무 길기를 원하지 않았으므로 ToFixed를 사용하고 있었지만 쓰는 직전에 .ToFixed를 사용할 것입니다! – danieljames

+0

값을 출력 할 때만'toFixed'를 사용하십시오. 재사용하지 않으면 보관하지 마십시오. –

+0

그러나 숫자로 사용할 수있는 숫자 값을 반올림 할 수 있습니까? – danieljames

관련 문제