Heim >Web-Frontend >js-Tutorial >Wie rundet man Zahlen in JavaScript nur bei Bedarf auf zwei Dezimalstellen?
Zahlen auf zwei Dezimalstellen runden: wenn nötig
Wenn Sie Zahlen auf höchstens zwei Dezimalstellen runden möchten, aber nur, wenn nötig , hier sind zwei effektive Methoden in JavaScript:
1. Mit Math.round():
Math.round(num * 100) / 100
Diese Methode multipliziert die Zahl mit 100, um den Dezimalpunkt um zwei Stellen nach rechts zu verschieben, rundet das Ergebnis mit Math.round() und dividiert dann um 100, um den Dezimalpunkt wieder an seine ursprüngliche Position zu verschieben.
2. Verwenden von Number.EPSILON für die Präzision:
Math.round((num + Number.EPSILON) * 100) / 100
Diese Methode ist präziser, insbesondere für Zahlen wie 1,005, die mit der vorherigen Methode aufgrund von Problemen mit der Gleitkommagenauigkeit möglicherweise falsch gerundet werden. Vor dem Multiplizieren und Runden wird eine kleine Zahl (Number.EPSILON) hinzugefügt, um sicherzustellen, dass keine Rundungsfehler auftreten.
Beispielverwendung:
const numbers = [10, 1.7777777, 9.1]; const roundedNumbers = numbers.map(num => { return num === Math.floor(num) ? num : Math.round(num * 100) / 100; }); console.log(roundedNumbers); // Output: [10, 1.78, 9.1]
In diesem Beispiel Zahlen werden nur dann auf zwei Dezimalstellen gerundet, wenn sie einen Nachkommateil haben. 10 bleibt unverändert, da es bereits eine ganze Zahl ist.
Das obige ist der detaillierte Inhalt vonWie rundet man Zahlen in JavaScript nur bei Bedarf auf zwei Dezimalstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!