Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1183 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  faire un calcul contenu dans une string

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

faire un calcul contenu dans une string

n°1356946
Djebel1
Nul professionnel
Posté le 01-05-2006 à 02:52:23  profilanswer
 

Hello, j'ai un pti souci :  
 
je récupère une variable $_POST (donc de type string). J'aimerais que si cette variable comporte une fraction, on calcule la fraction.
Par exemple, si $_POST = "4/2", on récupère la valeur 2. Transformer en type "float", ou additionner la variable avec 0, ne permet que de récupérer le premier chiffre de la fraction (ici 4).
 
Je voie pas bien comment faire ça. J'ai l'impression que eval() pourrait, mais il est pas question que j'utilise ça :p
 
Quelqu'un saurait comment exécuter un calcul contenu dans une string ?

mood
Publicité
Posté le 01-05-2006 à 02:52:23  profilanswer
 

n°1356948
gatsu35
Blablaté par Harko
Posté le 01-05-2006 à 03:30:54  profilanswer
 

Djebel1 a écrit :

Hello, j'ai un pti souci :  
 
je récupère une variable $_POST (donc de type string). J'aimerais que si cette variable comporte une fraction, on calcule la fraction.
Par exemple, si $_POST = "4/2", on récupère la valeur 2. Transformer en type "float", ou additionner la variable avec 0, ne permet que de récupérer le premier chiffre de la fraction (ici 4).
 
Je voie pas bien comment faire ça. J'ai l'impression que eval() pourrait, mais il est pas question que j'utilise ça :p
 
Quelqu'un saurait comment exécuter un calcul contenu dans une string ?


Eval() :o  
c'est fait pour executer le code contenu dans une string :D

n°1356949
Djebel1
Nul professionnel
Posté le 01-05-2006 à 03:46:13  profilanswer
 

ouais mais vlà la faille de sécu sur une variable $_POST :'(
Pas d'autres moyens ? :(

n°1356960
gatsu35
Blablaté par Harko
Posté le 01-05-2006 à 05:54:04  profilanswer
 

http://fr.php.net/eval
il n'y a pas que la doc qui est intéressante sur php.net, mais aussi les commentaires, en partant du bas de la page
j'ai trouvé ce commentaire :  

Citation :


 David Schumann
04-Nov-2003 08:17
To evaluate math expressions (multiply, divide, addition, subtraction, percentages), use the following function, based on Taras Young's 'evalsum' function posted earlier:

Code :
  1. function matheval($equation){
  2.       $equation = preg_replace("/[^0-9+\-.*\/()%]/","",$equation);
  3.       $equation = preg_replace("/([+-])([0-9]+)(%)/","*(1\$1.\$2)",$equation);
  4.       // you could use str_replace on this next line
  5.       // if you really, really want to fine-tune this equation
  6.       $equation = preg_replace("/([0-9]+)(%)/",".\$1",$equation);
  7.       if ( $equation == "" ) {
  8.               $return = 0;
  9.       } else {
  10.               eval("\$return=" . $equation . ";" );
  11.       }
  12.       return $return;
  13. }


You could easily extend this to include exponents, square roots, or really any other mathematical function. I use it in a 'price each' field on a purchase order form. The user can type in '$10.00-25%' and get 7.50 as the result.

n°1357463
Djebel1
Nul professionnel
Posté le 01-05-2006 à 23:48:48  profilanswer
 

ha ouais, pourtant je les lis d'hab ^^
merci, c'est pas con comme idée


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  faire un calcul contenu dans une string

 

Sujets relatifs
[excel] comptage de contenu de caseConvertir un int en String
Separateur dans un string[PERL] [CGI] suprimer du contenu entre deux balises
[JSP/Servlet] Comment envoyer une string sans passer par des javabean[C#] String contient string ?
Comparaison string avec un caractère ..... [REGLE]Récupérer le contenu d'une page web distante
erreur lors de compilation, calcul mais pq ???? 
Plus de sujets relatifs à : faire un calcul contenu dans une string


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR