Arrondir entier superieur ou inferieur a 50

Mammouth du PHP | 965 Messages

31 janv. 2008, 13:13

Re bonjour

Je cherche a arrondir un chiffre a l'entier superieur ou inferieur a 50

exemple : 155 560
arrondis : 155 600

exemple : 155 540
arrondis : 155 500

une idée ?

d0m
Mammouth du PHP | 1141 Messages

31 janv. 2008, 14:23

tu fais ta propre fonction qui :

- divise le nombre par 100
- prends la partie entière que tu multiplie par 100 => nombre a
- compare le reste de la division à 50 :
si il est plus petit => a=a
si il est plus grand => a=a+100

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

31 janv. 2008, 15:24

Il y a aussi des fonctions pour arrondir en javascript... une fois que tu as divisé par 100, tu arrondis, et tu remultiplie ta partie entière par 100, ca évite les comparaisons et le rajout du +100 ;)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Mammouth du PHP | 965 Messages

31 janv. 2008, 15:32

tu fais ta propre fonction qui :

- divise le nombre par 100
- prends la partie entière que tu multiplie par 100 => nombre a
- compare le reste de la division à 50 :
si il est plus petit => a=a
si il est plus grand => a=a+100
Ok je comprends bien la logique mais comment est ce que je peux separer le nombre entier de sa decimale ?

une fois que j'ai fais

Nombre_Entier = Prix / 100

Il faut que j'ai les 2 parties ce qu'il y a avant et après la virgule.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

31 janv. 2008, 15:37

Tu pourrais le faire en découpant la chaine, mais si tu utilises simplement la fonction round(), tu n'as même pas à te poser la question puisque tu n'auras plus de partie décimale :
arrondi = round(nombre / 100) * 100;
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Mammouth du PHP | 965 Messages

31 janv. 2008, 15:43

Tu pourrais le faire en découpant la chaine, mais si tu utilises simplement la fonction round(), tu n'as même pas à te poser la question puisque tu n'auras plus de partie décimale :
arrondi = round(nombre / 100) * 100;
C'est parfait Ryle, en effet c'est beaucoup plus simple comme methode :P

Je met la balise [Résolu] merci a vous 2.