Arrondir un chiffre à 0.05 en dessous

Petit nouveau ! | 2 Messages

31 juil. 2018, 12:05

Bonjour à tous,

Je cherche à arrondir un nombre à 0.05 près.
Avant j'utilisais la fonction round($val/0.05)*0.05 qui marchait très bien.
Sauf que j'ai voulu arrondit automatiquement à l'inférieur et là je me suis retrouvé à utiliser floor à la place de round : floor($val/0.05)*0.05

Cela marche dans 99% des cas sauf certaines fois où j'ai déjà une valeur arrondi comme 1.60 qu'il arrondi à 1.55
C'est très bizarre car il ne le fait pas avec toutes les valeurs déjà arrondi.

Une idée pour m'aider ?

Merci

Mammouth du PHP | 1967 Messages

01 août 2018, 08:05

Il faut voir d'où provient ton 1.60, si c'est en fait un 1.599999999999999999999999999999... ton calcul donnera 1.55 normal. mais si c'est bien un 1.600000000000000000000000... alors ca devrait être bon.
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Petit nouveau ! | 2 Messages

01 août 2018, 10:36

Le 1.60 vient d'une table mysql où il est stocké en DOUBLE (10,2)

Mammouth du PHP | 1967 Messages

01 août 2018, 14:47

Il faut voir si tu sais appliquer un arrondi à une décimale de plus que désiré avant stockage ou dès la recup de la base
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube