JavaScriptsMathematik

Umrechner Celsius Fahrenheit

Rechnet Temperaturen zwischen Grad Celsius und Grad Fahrenheit um — in beide Richtungen.

Dieses von einem anonymen User eingeschickte JavaScript rechnet zwischen den Temperaturskalen Grad Celsius und Grad Fahrenheit um — in beide Richtungen. Besonders für Homepages, die sich mit dem Wetter im amerikanischen Raum beschäftigen, kann das sehr hilfreich sein, denn in den USA werden Temperaturen fast ausschließlich in Fahrenheit angegeben.

Die Bedienung ist denkbar einfach: Tragt in der oberen Zeile eine Celsius-Temperatur ein und klickt auf „Celsius → Fahrenheit" — der umgerechnete Wert erscheint im Feld daneben. Die untere Zeile funktioniert genauso in der Gegenrichtung. Nachkommastellen dürft ihr mit Komma oder Punkt eingeben; das Ergebnis wird auf zwei Nachkommastellen gerundet.

Die Umrechnung selbst ist reine Formelsache: Fahrenheit = Celsius × 1,8 + 32. Die beiden Skalen treffen sich übrigens bei −40 Grad — der einzige Wert, der in Celsius und Fahrenheit gleich ist. 0 °C entsprechen 32 °F, normale Körpertemperatur von 37 °C sind 98,6 °F.

Wer noch mehr Skalen braucht: Unser Temperaturkonverter beherrscht zusätzlich auch Kelvin.

Mathematik Baujahr 2007 läuft in deinem Browser

So funktioniert das Script

Das Script besteht aus zwei kleinen Umrechnungsfunktionen — eine je Richtung — und zwei Hilfsfunktionen, die sich ums Einlesen und ums Ausgeben kümmern. Jede Umrechnung liest ihr Eingabefeld aus, wendet die Temperaturformel an und schreibt das gerundete Ergebnis ins Feld daneben.

function zahlAusFeld(id) {
  return Number(document.getElementById(id).value.replace(",", "."));
}

Die Hilfsfunktion zahlAusFeld() holt den Text aus einem Eingabefeld und macht mit Number() eine Zahl daraus. Das vorgeschaltete replace(",", ".") tauscht ein deutsches Dezimalkomma gegen einen Punkt — JavaScript versteht intern nur die englische Schreibweise, aus "36,6" wird so erst "36.6" und dann die Zahl.

rundenUndAnzeigen("cf-fahrenheit1", celsius * 1.8 + 32);

Das ist die komplette Umrechnung von Celsius nach Fahrenheit: mit 1,8 multiplizieren und 32 addieren. Die 32 kommt daher, dass der Gefrierpunkt von Wasser auf der Fahrenheit-Skala bei 32 Grad liegt; der Faktor 1,8 gleicht aus, dass ein Fahrenheit-Grad kleinere Schritte macht als ein Celsius-Grad (180 statt 100 Schritte zwischen Gefrier- und Siedepunkt).

rundenUndAnzeigen("cf-celsius2", (fahrenheit - 32) / 1.8);

Der Rückweg ist dieselbe Formel, nach Celsius umgestellt: erst die 32 abziehen, dann durch 1,8 teilen. Wichtig sind die Klammern — ohne sie würde JavaScript nach der Punkt-vor-Strich-Regel zuerst 32 / 1.8 rechnen und das Ergebnis wäre falsch.

function rundenUndAnzeigen(feldId, wert) {
  document.getElementById(feldId).value =
    (Math.round(wert * 100) / 100).toLocaleString("de-DE");
}

Vor der Ausgabe wird gerundet, sonst stünden bei Werten wie (100 − 32) ÷ 1,8 endlose Nachkommastellen im Feld. Der Trick Math.round(wert * 100) / 100 rundet auf zwei Nachkommastellen: erst mal 100, dann auf eine ganze Zahl runden, dann wieder durch 100. toLocaleString("de-DE") formatiert das Ergebnis anschließend mit deutschem Dezimalkomma.

document.getElementById("cf-nach-fahrenheit").addEventListener("click", celsiusNachFahrenheit);

Zum Schluss werden die beiden Funktionen mit ihren Knöpfen verbunden. addEventListener("click", …) sorgt dafür, dass sie bei jedem Klick laufen — das Script steht dafür unter dem Formular, damit die Felder und Knöpfe schon existieren, wenn es ausgeführt wird.

Zum Anpassen: Mehr Nachkommastellen bekommt ihr, indem ihr in rundenUndAnzeigen() beide 100 zum Beispiel durch 1000 ersetzt. Und wer eine dritte Skala ergänzen will: Kelvin wäre einfach celsius + 273.15 — eine weitere Zeile nach demselben Muster genügt.

Script für die eigene Homepage

Kopiert euch den kompletten Code und fügt ihn an der Stelle eurer Seite ein, an der das Script erscheinen soll. Er läuft ohne weitere Dateien und ohne fremde Server.

Mehr aus der Kategorie Mathematik