2017-03-11 33 views
-2

我很新的JavaScript和我想創建一個按鈕,會詢問用戶華氏溫度,然後將其轉換爲攝氏溫度的函數。該按鈕似乎正在正常工作,並且該功能做了一些事情,而不是我需要的。該函數不是顯示轉換後的溫度,而是顯示「NaN」。我通過Firefox調試器運行它,並沒有錯誤消息,這導致我相信我做了一些非常明顯的錯誤。輸出是錯誤的

function FahToCel() { 
 
    var fah = parseFloat(document.getElementById("ftemp").value); 
 
    var cel = ("ftemp" - 32.0) * 5.0/9.0; 
 
    document.getElementById("DegC").innerHTML = ("The temperature is " + cel + "in Celsius."); 
 
}
<form> 
 
    DegF: <br> 
 
    <input type="text" id="ftemp"> 
 
    <input value="Calculate" name="Calculate" type=button onClick="FahToCel()"> 
 
    <p id="DegC"> 
 
    </p> 
 
</form>

+1

' 「ftemp」 - 32.0'應該是'FAH - 32.0' - 也做cel.toFixed(2 )或Math.floor(cel) – mplungjan

+1

爲什麼要從字符串*中減去float *? – Li357

+0

就像我說過的,我對JavaScript很陌生,並試圖自己學習。我很欣賞所有的迴應,我認爲這對更熟練的用戶來說是顯而易見的。 – Offred

回答

1

你需要傳遞變量不是字符串:

function FahToCel() { 
    var fah = parseFloat(document.getElementById("ftemp").value); 
    var cel = (fah - 32.0) * 5.0/9.0; 
    document.getElementById("DegC").innerHTML = ("The temperature is " + cel + "in Celsius."); 
}