2014-09-10 3 views
1

섭씨를 화씨로, 그 반대로 변환하는 간단한 JavaScript 프로그램이 있습니다. 그러나 하나의 함수가 작동하지 않고 NaN을 반환합니다.)JavaScript에서 NaN이 작동하지 않는 이유는 무엇입니까?

감사를 섭씨을 계산할 때

<script type="text/javascript"> 
    function CtoF() { 
     c = parseInt(document.getElementById("celsiusTemp").value); 
     fah = c * (9/5) + 32; 
     document.getElementById("resC").innerHTML = fah; 
    } 

    function FtoC() { 
     f = parseInt(document.getElementById("celsiusTemp").value); 
     cel = (f - 32) * (5/2); 
     document.getElementById("resF").innerHTML = cel; 
    } 
</script> 
<body> 
    <form> 
     <p>Insert celsius temperatur: 
      <input type="text" id="celsiusTemp" /> 
      <br> 
     </p> 
     <p>Insert fahrenheit temperatur: 
      <input type="text" id="fahreheitTemp" /> 
      <br> 
     </p> 
     <input type="button" class="btn btn-success" onClick="CtoF()" Value="Calc Fahrenheit" /> 
     <input type="button" class="btn btn-warning" onClick="FtoC()" Value="Calc Celsius" /> 
    </form> 
    <br/> 
    <p>The Result is : 
     <br/> 
     <p>Result celsius to fahreinhet:</p><span id="resC"></span> 

     <p>Result fahreinhet to celsius:</p><span id="resF"></span> 

</body> 

이유는 NaN를받을 수 있나요!

f = parseInt(document.getElementById("celsiusTemp").value); 

으로 :

+0

아마도'FtoC' 함수에서'getElementById ("fahreheitTemp")'를 의미했습니다 ... – Vache

+0

NaN은 어디서 구할 수 있습니까? 두 가지 다른 수식에서 변환에 대해 다른 비율을 사용하는 이유는 무엇입니까? –

답변

6

당신은 아마 교체해야 당신이 Calc Celsius 버튼을 클릭하면

f = parseInt(document.getElementById("fahreheitTemp").value); 

, 그것은 섭씨 필드에서 값을 얻으려고합니다. 그 빈의 경우, parseIntNaN를 반환합니다 : 당신의 섭씨 기능이 잘못된 입력을 읽기 때문에

isNaN(parseInt("")) === true 
2

, 당신은 당신이 기능을 테스트 할 때 해당 입력에 입력하지 않았기 때문에, 그것은 빈 문자열 인 parseInt을 번호가 아닌 것으로 바뀝니다.

관련 문제