Heim >Web-Frontend >js-Tutorial >Wie rundet man Zahlen in JavaScript nur bei Bedarf auf zwei Dezimalstellen?

Wie rundet man Zahlen in JavaScript nur bei Bedarf auf zwei Dezimalstellen?

DDD
DDDOriginal
2024-12-28 00:21:09617Durchsuche

How to Round Numbers to Two Decimal Places in JavaScript Only When Necessary?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn