Javascript mit Prozentrechen?
Hi,
ich möchte gerne einen Preis haben und der wird dann minus eines Betrags gerechnet, bis dahin habe ich es geschafft, aber wie kann mit Prozent rechnen. Also so z.B 100 - 20%. Wie macht man dass, wenn man es so eingibt kommt NaN. Aber wenn ich es ohne Prozent mache kommt 80 raus(wäre auch mit Prozent rausgekommen, aber dass ist nur ein Beispiel.)
3 Antworten
Prozentrechnung ist Mal-Rechnung.
20% hinzuzufügen entspricht: Die Zahl * 1.20 nehmen.
20% abzuziehen entspricht: Die Zahl * 0.80 nehmen.
Die Rechnung sieht also so aus:
zahl *= 1+ prozent/100;
Als prozent kannst du z.B. -20 einsetzen, um 20% abzuziehen und 20 einsetzen, um 20% hinzuzufügen.
Ich hätte noch eine Frage und zwar ich hätte zwei Radio Buttons und der Value ist unterschiedlich, aber woher weiss das Programm welcher Radio ausgewählt wurde? Um dann es zu berechnen?
<input id="prei" type="text" name="PreisMitM" placeholder="Preis" required> <br>
<input type="radio" name="satz" value="50"> -50% <br>
<input type="radio" name="satz" value="10"> -10% <br>
<input type="submit" onclick="Mberechnen()" required>
<script>
function Mberechnen() {
var summe = document.getElementById('prei').value * 0.50;
document.write(summe);
}
</script>
So wie du es gemacht hast, ist es doch schon richtig. Die Einheit kannst du nachträglich anhängen und den String bspw. für irgendein Style Property (height, width, ...) verwenden.
let difference = 80 - 20;
let resultInPercent = difference + "%";
Wenn du eine Prozentzahl in Relation zu einer Menge berechnen möchtest, verwende den Dreisatz.
Ich hätte noch eine Frage und zwar ich hätte zwei Radio Buttons und der Value ist unterschiedlich, aber woher weiss das Programm welcher Radio ausgewählt wurde? Um dann es zu berechnen?
<input id="prei" type="text" name="PreisMitM" placeholder="Preis" required> <br>
<input type="radio" name="satz" value="50"> -50% <br>
<input type="radio" name="satz" value="10"> -10% <br>
<input type="submit" onclick="Mberechnen()" required>
<script>
function Mberechnen() {
var summe = document.getElementById('prei').value * 0.50;
document.write(summe);
}
</script>
In dem Fall müsstest du einmal über alle Radiobuttons iterieren, um zu prüfen, welcher selektiert wurde.
const value = document.querySelector("input[name='satz']:checked").value;
console.log("Selected value: " + value);
var wert = 150;
var prozet = 15; // entspricht 15%
var ergebnis = wert - (wert * (prozent / 100));
// prozent / 100 = 0.15 (1 = 100%, 0 = 0%)
// wert * (0.15) = wert mal 15% = 22.5
// wert - (22.5) = wert minus %teil von wert = 127.5
var shorter = wert * (1 - (prozent / 100));
// prozent / 100 ist inzwischen klar = 0.15
// 1 - (0.15) = umkehrung des Prozentwertes. = 0.85
// wert * (0.85) = 127.5
Hi, ich habe deine Lösung auch ausprobiert, die klappt auch danke.