Avatar ·

Rundung von Zahlen auf zwei Dezimalstellen in JavaScript: Wie macht man es richtig?

Hallo zusammen! Ich bin neu in JavaScript und habe ein Problem mit der Rundung von Zahlen. Ich muss Preise im Warenkorb eines Online-Shops anzeigen und möchte, dass sie immer maximal mit zwei Dezimalstellen dargestellt werden. Aber wenn die Zahl ganzzahlig ist (z.B. 10), soll einfach "10" ohne Dezimalstellen angezeigt werden.\n\nIch habe `toFixed(2)` ausprobiert, aber es fügt immer Nullen hinzu: `(10).toFixed(2)` gibt `"10.00"` zurück, aber ich brauche `"10"`. Ich habe `Math.round(num * 100) / 100` versucht – das funktioniert, liefert aber manchmal seltsame Ergebnisse aufgrund von Ungenauigkeiten bei Fließkommazahlen. Zum Beispiel gibt `Math.round(1.005 * 100) / 100` `1` zurück, nicht `1.01`, wie ich erwartet hatte.\n\nKönnt ihr mir sagen, wie man eine Zahl korrekt auf zwei Dezimalstellen rundet, aber dabei keine überflüssigen Nullen anzeigt, wenn sie nicht benötigt werden? Ich brauche eine zuverlässige Lösung.