IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Calcule d'une somme [PHP 5.3]


Sujet :

Langage PHP

  1. #1
    Membre actif
    Inscrit en
    Février 2009
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 616
    Points : 249
    Points
    249
    Par défaut Calcule d'une somme
    Bonjour,

    $_POST["px_total"] retourne des decimal du genre : 15,031

    j'ai remarqué que si je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $_POST["px_total"]/3;
    La somme retournée est arrondi, soit : 5,000

    Mais en fesant cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $toto= str_replace(',','.',$_POST["px_total"]);
    					echo $toto/3;
    ça fonctionne...

    Auriez-vous une explication à cette logique, voir une correction de syntaxe à proposer,

    cordialement,

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Tu essai de diviser une chaine par un nombre , forcément ça ne se passe pas bien.

    15,031 est une chaine de caractère et non pas un float.
    Donc quand tu fais $_POST["px_total"]/3 PHP est trop sympa et fait un cast implicite de la chaine de caractère en entier soit dans ton cas 15 (et 15/ 3 = 5).

    Si tu veux que ça fonctionne il faut utiliser le . pour les décimal (et non pas la virgule). Et pour faire les chose bien il faut transformer la chaine en float :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $val = float_val($_POST["px_total"]);
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  4. #4
    Membre actif
    Inscrit en
    Février 2009
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 616
    Points : 249
    Points
    249
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    floatval(str_replace(',','.',$_POST["px_total"])/$qte)
    Fonctionne

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Excel] Calcul d'une somme sous condition
    Par netsabes dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 22/08/2006, 16h09
  2. Calcul d'une somme dans Excel ??
    Par LaVaZza dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 13/06/2006, 22h55
  3. Calcul de la somme total
    Par Velsy dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 06/06/2006, 13h29
  4. [TCP/IP][CRC] Calcul d'une somme XOR
    Par cyrdec dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 29/05/2006, 17h42
  5. access : calcul d'une somme de 0 sans valeur par défaut
    Par ericbelgium dans le forum Access
    Réponses: 6
    Dernier message: 06/10/2005, 09h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo