Arrondir les nombres à deux décimales en JavaScript : comment faire correctement ?
Bonjour à tous ! Je suis débutant en JavaScript et j'ai rencontré un problème d'arrondi des nombres. Je dois afficher les prix dans le panier d'une boutique en ligne, et je veux qu'ils s'affichent toujours avec un maximum de deux décimales. Mais si le nombre est entier (par exemple, 10), alors afficher simplement "10", sans décimales.
J'ai essayé d'utiliser `toFixed(2)`, mais il ajoute toujours des zéros : `(10).toFixed(2)` retourne `"10.00"`, alors que j'ai besoin de `"10"`. J'ai essayé `Math.round(num * 100) / 100` – cela fonctionne, mais donne parfois des résultats étranges à cause de l'imprécision des nombres à virgule flottante. Par exemple, `Math.round(1.005 * 100) / 100` retourne `1`, et non `1.01` comme je l'espérais.
Pouvez-vous me dire comment arrondir correctement un nombre à deux décimales, tout en n'affichant pas les zéros inutiles ? J'ai besoin d'une solution fiable qui fonctionne avec n'importe quel nombre, y compris les négatifs et les très petites valeurs (par exemple, `0.0001` devrait devenir `0`, et non `0.00`).
Exemples de ce que je veux obtenir :
- `10