OVH Cloud OVH Cloud

arrondi bizarre

1 réponse
Avatar
francois
bonjour.

J'ai javascript qui me fait un arrondi bizarre.

Dans ma fonction j'ai

var test=0.6;
var longueur=160;
et une variable c qui est à 330 (c'est un input que je récupere dans la
fonction).

et plus bas j'ai un calcul que j'ai décomposé pour essayer de comprendre
pourquoi il arrondi bizarrement.

e=Math.floor((c-1)/longueur); (quand j'affiche e il me retourne bien le
chiffre 2)
d=(e+1)*test;

Et là, pour d au lieu de me renvoyer 1,8 il me renvoye 1.7999999999999998

Savez vous pourquoi ?

Si le resultat est normal, y a t il une fonction qui me permette d'arrondir
à un chiffre aprés la virgule ( pour obtenir 1,8) ou dois-je multiplier par
10, faire un Math.round et rediviser ensuite par 10 ? (c'est ce que j'ai
fait mais je trouve pas cette solution très élegante).

Merci à tous.

1 réponse

Avatar
RPnich
bonjour.

J'ai javascript qui me fait un arrondi bizarre.

Si le resultat est normal, y a t il une fonction qui me permette d'arrondir
à un chiffre aprés la virgule ( pour obtenir 1,8) ou dois-je multiplier par
10, faire un Math.round et rediviser ensuite par 10 ? (c'est ce que j'ai
fait mais je trouve pas cette solution très élegante).


Je suis loin d'être grand spécialiste, mais avec Javascript, je crois
qu'il faut laisser l'élégance au portemanteau...
Sur mes site, j'ai des 'calculs en ligne', et parfois des résultats
"undefined". Il suffit de rajouter .000123456 (par ex.) derrière l'une
des valeurs prises en compte dans le calcul pour afficher un résultat
correct.


--
R. Peynichout
www.peynichout.com
www.chez.com/rpenich