Hallo Zusammen! Ich bin ein Anfänger! Ich habe folgendes Problem mit Javascript Ausgabe: Ich habe folgendes Formular erstellt (siehe Anlage). Hier muss die Rest-Energie in Minuten gerechnet werden (Der Akku hält: ..... Minuten). Und das habe ich auch geschafft. Das problem ist dass ich die ausgerechneten Minuten (Der Akku hält: ... Minuten ) in Stunden und Minuten umrechnen muss (zwei letzten Felder (Stunden ... und Minuten ....)). Hier komme ich nicht weiter!
Hier ist mein Code:
<script>
var a; // Akku-rest
var b; // Spannung
var c; // Akkukapazitaet
var d; // Leistung
var y; // Akkuhaltbarkeit Ergebis Gesamt
var z; // Akkuhaltbarkeit Ergebis Stunden
var x; // Akkuhaltbarkeit Ergebis Minuten
document.querySelector("#akkuhaltbarkeit-rechnen").onclick = function(){
let a = document.getElementById('akku-rest').value;
let b = document.getElementById('spannung').value;
let c = document.getElementById('akkukapazitaet').value;
let d = document.getElementById('leistung').value;
let y = document.getElementById('akkuhaltbarkeit-gesamt');
let z = document.getElementById('akkuhaltbarkeit-stunden')
let x = document.getElementById('akkuhaltbarkeit-minuten')
a = a.replace(/,/,".");
b = b.replace(/,/,".");
c = c.replace(/,/,".");
d = d.replace(/,/,".");
if (isNaN(parseFloat(a)) || isNaN(parseFloat(b)) || isNaN(parseFloat(c)) || isNaN(parseFloat(d))) {
z.value = "Fehlende Angaben!";
} else {
y.value = parseFloat(c) * parseFloat(b) / parseFloat(d) * (1-parseFloat(a) / 100) * 60 ;
y.value = Math.round(y.value * 1);
z.value = y.value / 60;
z.value = Math.round(z.value * 1);
x.value = y.value - z.value * 60;
x.value = Math.round(x.value * 1);
}
return false;
}
</script>
Die Variable Z soll die Stunden ausgeben und die Variable X soll die Minuten ausgeben. Soll Beispil: 0 Stunden und 36 Minuten, bei mir wird ausgegeben: 1 Stunde und -24 Minuten. Das wird auch ausgegeben aber nicht richtig: manchmal bekomme ich negative Zeilen. (Siehe Screenchot)
Was mache ich falsch? Bitte um Hilfe!