2017-03-11 3 views
-2

Ich bin sehr neu in JavaScript und versuche, eine Schaltfläche erstellen, die den Benutzer die Temperatur in Fahrenheit fragen würde, und dann eine Funktion, die es in Celsius konvertieren würde. Der Knopf scheint richtig zu funktionieren, und die Funktion tut etwas - nur nicht das, was ich brauche. Anstatt die umgerechnete Temperatur anzuzeigen, sagt die Funktion "NaN". Ich habe es durch den Firefox-Debugger laufen lassen und es gab keine Fehlermeldungen, was mich glauben macht, dass ich etwas sehr offensichtlich falsch gemacht habe.Ausgabe von Javascript-Funktion ist falsch

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' - - 32.0' sollte' fah sein und auch tun cel.toFixed (2) oder Math.floor (cel) – mplungjan

+1

Warum subtrahierst du einen float * von einem string *? – Li357

+0

Wie ich schon sagte, ich bin sehr neu in Javascript und versuche es selbst zu lernen. Ich weiß alle Antworten zu schätzen, ich dachte mir, dass dies für erfahrene Benutzer offensichtlich wäre. – Offred

Antwort

1

müssen Sie Variable übergeben nicht string:

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."); 
}