Programmation  » [PHP] Calcul sur tranches
Catégorie :  
Lien direct vers ce message Editer  Citer  Ajouter ce message en quote multiple  Supprimer
[PHP] Calcul sur tranches
Publié le 18/01/2009 @ 11:33:20,
Par Ppxl
Bonjour,

Maths n'étant pas une tasse de thé, je cale sec pour faire correctemment et simplement un petit calculs sur un pourcentage à calculer selon certaines tranches (des nombres), accessoirement en PHP bien que cela s'applique depuis d'autres langages. Est ce que qqn aurait l'idée du comment de la chose?

Voici le principe :
5 tranches, de la plus haute à la plus basse sur lesquelles il faut à chaque fois reprendre un pourcentage dégressif sur chaque tranche :
1. plus de 100 , 1% à reprendre
2. de 100 à 75 , 2% à reprendre
3. de 75 à 50 , 3% à reprendre
4. de 50 à 25 , 4% à reprendre
5. moins de 25, 5% à reprendre


@
Lien direct vers ce message Editer  Citer  Ajouter ce message en quote multiple  Supprimer
[PHP] Calcul sur tranches
Publié le 18/01/2009 @ 11:49:30,
Par rfr
pas en php mais voila le pseudo code:


if (s > 100) {
res = (s-100) * 0.01 + (100-75) * 0.02 + (75-50) * 0.03 + (50-25) * 0.04 + 25 * 0.05;
} else if ( s > 75) {
res = (s-75) * 0.02 + (75-50) * 0.03 + (50-25) * 0.04 + 25 * 0.05;
} else if ( s > 50) {
res = (s-50) * 0.03 + (50-25) * 0.04 + 25 * 0.05;
} else if ...


Il y a évidement moyen de faire plus court mais c'est juste pour le principe. Keep It Simple and Stupid du dimanche ...
To die is a time consuming activity, it often takes a lifetime (but some are faster than others ... though)
Lien direct vers ce message Editer  Citer  Ajouter ce message en quote multiple  Supprimer
[PHP] Calcul sur tranches
Publié le 18/01/2009 @ 16:42:27,
Par Jonurs
Avec un switch case, tu l'auras facilement.

exemple :
  1. switch ($maVar) { 
  2. case >100 : echo "1%";break
  3. case >75 : echo "2%";break
  4. case >50 : echo "3%";break
  5. case >25 : echo "4%":break
  6. default : echo "5%";break
  7. }


Pourquoi ça marchera?
parce que si c'est >100 il s'arrète sur al première ligne, s'il arrive à la 2eme, il sera automatiquement <100 et donc >75 signifie entre 100 et 75.

(dans ce code, j'ai juste fais l'écho, à toi de changer ça par ce que tu veux

Dernière édition: 18/01/2009 @ 21:25:19
Répondre  - Catégorie :  
Informaticien.be  - © 2002-2019 Akretio SPRL  - Generated via Kelare - Hosted by Verixi Internet Services
The Akretio Network: Akretio  - Freedelity  - KelCommerce  - Votre publicité sur informaticien.be ?