Temperaturkonverter
Rechnet Temperaturen zwischen Grad Fahrenheit, Grad Celsius und Kelvin um — einen Wert eintragen, die beiden anderen werden berechnet.
Mit diesem Javascript könnt ihr Temperaturen zwischen drei Einheiten umrechnen: den bei uns üblichen Grad Celsius, den in den USA verbreiteten Grad Fahrenheit und der wissenschaftlichen Einheit Kelvin. Das Original des Scripts stammt von Kai Yuet.
Die Bedienung ist einfach: Tragt in eines der drei Felder eine Temperatur ein — die beiden anderen werden berechnet, sobald ihr auf „Berechnen" klickt oder das Feld verlasst. Dezimalstellen könnt ihr wahlweise mit Komma oder Punkt eingeben, die Ergebnisse werden auf zwei Nachkommastellen gerundet.
Wusstet ihr eigentlich, dass der absolute Nullpunkt bei −273,15 Grad Celsius liegt, also bei 0 Kelvin? Eine tiefere Temperatur ist nicht möglich — da bewegen sich praktisch keine Teilchen mehr. Deshalb kennt die Kelvin-Skala auch keine negativen Werte und beginnt genau dort. Kleiner Hinweis dazu: Dieses Script rechnet der Einfachheit halber mit dem gerundeten Versatz von 273 statt 273,15 — in der Erklärung unten steht, wie ihr das ändern könnt.
Wer nur zwischen Celsius und Fahrenheit wechseln will, findet im Archiv auch den kompakteren Umrechner Celsius–Fahrenheit. Weitere Umrechner derselben Bauart sind der Gewichts-Umrechner und der Streckenkonverter.
Einen Wert eintragen — die beiden anderen Felder werden ausgefüllt.
So funktioniert das Script
Das Script besteht aus drei Teilen: Es merkt sich, in welches der drei Felder zuletzt getippt wurde, rechnet von diesem Feld aus die beiden anderen Temperaturen aus und schreibt die Ergebnisse direkt in die Felder. Das Original löste das noch mit versteckten Formularfeldern und eval() — die modernisierte Fassung kommt ohne beides aus, rechnet aber mit exakt denselben Formeln.
let quelle = null; // merkt sich, in welches Feld zuletzt getippt wurde
feld.addEventListener("input", function () {
quelle = feld;
});
Der Kniff an einem Konverter mit drei gleichberechtigten Feldern: Das Script muss wissen, welches Feld die Eingabe enthält und welche beiden berechnet werden sollen. Dafür bekommt jedes Feld einen input-Listener — der feuert bei jedem Tastendruck und legt das getippte Feld in der Variablen quelle ab. Wichtig: Wenn das Script später selbst Werte in die Felder schreibt, löst das kein input-Ereignis aus, die Quelle bleibt also korrekt stehen.
function wert(feld) {
return parseFloat(feld.value.replace(",", "."));
}
Die Hilfsfunktion wert() liest ein Feld aus und macht mit parseFloat() eine Zahl daraus. Vorher tauscht replace(",", ".") ein deutsches Dezimalkomma gegen einen Punkt, denn JavaScript versteht intern nur die englische Schreibweise. Ist die Eingabe keine Zahl, liefert parseFloat den Spezialwert NaN („Not a Number") — das fängt umrechnen() ab und zeigt stattdessen einen freundlichen Hinweis in der Ergebnisfläche.
if (quelle === celsius) {
fahrenheit.value = runden((212 - 32) / 100 * eingabe + 32);
kelvin.value = runden(eingabe + 273);
}
Hier stecken die eigentlichen Formeln. Der Faktor (212 − 32) / 100 ist nichts anderes als 1,8: Auf der Fahrenheit-Skala liegt der Gefrierpunkt von Wasser bei 32 °F und der Siedepunkt bei 212 °F — die 100 Celsius-Grade dazwischen entsprechen also 180 Fahrenheit-Graden. Celsius nach Fahrenheit heißt darum „mal 1,8, plus 32", die Gegenrichtung „minus 32, geteilt durch 1,8". Kelvin ist noch einfacher: Die Kelvin-Skala hat dieselbe Schrittweite wie Celsius, nur der Nullpunkt ist verschoben — es wird lediglich der Versatz addiert bzw. abgezogen.
function runden(wert) {
return Math.round(wert * 100) / 100;
}
Gerundet wird mit einem Klassiker: Math.round() rundet nur auf ganze Zahlen, deshalb wird der Wert erst mit 100 multipliziert, gerundet und wieder durch 100 geteilt — übrig bleiben zwei Nachkommastellen.
feld.addEventListener("change", umrechnen);
document.getElementById("tk-berechnen").addEventListener("click", umrechnen);
Ausgelöst wird die Umrechnung auf zwei Wegen: beim Verlassen eines Feldes (change feuert, wenn sich der Inhalt geändert hat und das Feld den Fokus verliert) und per Klick auf den Knopf. Beide rufen dieselbe Funktion umrechnen() auf — so gibt es die Logik nur einmal.
Zum Anpassen: Das Script rechnet wie das Original mit dem gerundeten Versatz 273 zwischen Celsius und Kelvin. Wer es genau nimmt, ersetzt die drei Vorkommen von 273 im Script durch 273.15 — dann liefert 0 °C exakt 273,15 K. Auch die Rundung lässt sich ändern: Für eine Nachkommastelle einfach in runden() beide 100 durch 10 ersetzen.
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
-
5 Zahlen
-
Altersberechnungen
-
Anzahl der Stellen von Potenzen kalkulieren
-
Barrel in Liter
-
Beliebige Wurzel ziehen
-
Binomialverteilung
-
Collatz Problem
-
Denk Dir eine Zahl
-
Dezimalbruch
-
Dezimalzahl in Binärzahl umwandeln
-
Die Kamelhändler
-
Downloadzeit-Rechner
-
Drehender Kreis 1
-
Drehender Kreis 2
-
Drehender Kreis 3
-
Dreiecksrechner
-
Dreisatz
-
Dreisatz antiproportional
-
Einfacher Euro-Rechner
-
Fakultät berechnen
-
Fakultätsrechner
-
Fibonacci Reihe berechnen
-
Fibonacci-Zahlen
-
Flächenberechnung / Dreieck
-
Flächenberechnung / Kreis
-
Flächenberechnung / Parallelogramm
-
Flächenberechnung / Rechteck
-
Flächenberechnung / Trapez
-
Gedanken lesen
-
Geschwindigkeitsmesser