Calcul de pourcentages

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Calcul de pourcentages

par Hywan » 14 mars 2008, 15:41

Je propose une solution plutôt élégante :
<?php

header('Content-type: text/plain');

function calcul ( $nbIni = 0, Array $valeur, Array $montant ) {

    $key = array_search($nbIni, $valeur);
    return ($valeur[$key] * $montant[$key]) / 100;
}

$mesValeurs  = array(10000, 5000, 1500);
$mesMontants = array(10   , 5   , 1.5);

echo calcul(5000, $mesValeurs, $mesMontants);

// will output : 250
C'est plus facile à utiliser de cette façon, et pas besoin d'un switch ni de condition.

par queen_pitbull » 14 mars 2008, 11:58

ok merci je vais tester !! merci beaucoup !!!

par agité » 14 mars 2008, 11:41

merci de ta rapidité !
je peux utiliser le switch si mes montants doivent être compris entre tel ou tel montant ? Car la tu entres en dur les montants avec "case". Je le mets comme tu l'as mis après mon if ?

Pour mon if je peux mettre :
if($montant_ht >= 1500 && $montant_ht  <5000){ 
} 
Si je veux faire une comparaison ?
Le switch : http://fr.php.net/manual/fr/control-str ... switch.php
L'instruction switch équivaut à une série d'instructions if. En de nombreuses occasions, vous aurez besoin de comparer la même variable (ou expression) avec un grand nombre de valeurs différentes, et d'exécuter différentes parties de code suivant la valeur à laquelle elle est égale. C'est exactement à cela que sert l'instruction switch.
Elle ne te permettra pas de tester plusieurs variables ou nombre avec celle ci, par contre le if te le permettra.

Donc oui pour ce que tu fais le test en if reste, pour moi, la meilleur solution, tu peux y faire tout les test que tu veux, enfin ce que tu met en code la tu peux le tester et tu verra directement si ca marche ;)

bon courage.

par queen_pitbull » 14 mars 2008, 11:17

merci de ta rapidité !
je peux utiliser le switch si mes montants doivent être compris entre tel ou tel montant ? Car la tu entres en dur les montants avec "case". Je le mets comme tu l'as mis après mon if ?

Pour mon if je peux mettre :
if($montant_ht >= 1500 && $montant_ht  <5000){ 
} 
Si je veux faire une comparaison ?

par agité » 14 mars 2008, 11:07

Ce n'est pas une classe mais une fonction, pour l'instant tu fais 2 tableaux, mais en passant par des boucles qui vont choisir automatiquement en type if et else tu devrait pouvoir arriver a tes fins.

du style :
if($Montant >= 10000){ 
$Pourcentage = ($Montant*pourcentage) / 100; 
$N_montant = $Montant+$Pourcentage; 
}
ou avec un switch
switch($montant)
{
case 10000:
$pourcentage = 10;
break;

case 5000:
$pourcentage = 5;
break;

case 15000:
$pourcentage = 1.5;
break

return $pourcentage;
}

Calcul de pourcentages

par queen_pitbull » 14 mars 2008, 10:46

Bonjour,

Je dois créer une fonction permettant de calculer un pourcentage de bénéfice selon le montant d'une opération...
Je dois donc utiliser foreach et créer un tableau. J'ai lu quelques tutoriaux à ce sujet mais je ne sais pas comment créer ma class calcul..

Voici ma class calcul pour le moment :
function calcul() {

$tableau = array('10000','5000','1500'); 
foreach ( $tableau as $contenu )
{
print $contenu.'<br>';
} 
$tableau_pourcentage = array('10','5','1,5'); 
foreach ( $tableau as $contenu )
{
print $contenu.'<br>';
} 
}
Dans mon premier tableau j'ai les montants à partir desquels je dois faire les calculs. Si montant = 10000 alors je fais 10000*10% etc...
Je récupère $montant de la base que je compare au premier tableau pour savoir quel pourcentage lui attribuer. Ma question est la suivante : comment dois-je faire pour comparer les deux tableaux et appliquer la bonne méthode et le bon calcul en fonction du montant capté ??? Je suis newbie... Merci d'avance...