Page 1 sur 1

Formater chaine de caractère en nombre

Posté : 24 mars 2007, 14:54
par Nonoteam
Bonjour,

Je bloque sur un problème assez simpliste il me semble, après plusieurs calculs je me retrouve avec une chaîne '2*2' par exemple, qui peut aussi être '(2*0.5-5)/(0.5+1)'...
Ce que je souhaiterais, c'est simplement transformer cette chaîne en un nombre pour pouvoir effectuer le calcul.

Code : Tout sélectionner

$chaine = '2*2'; $chaine = fonction($chaine); echo $chaine;
Ce qui me retournerais 4 et non 2*2 comme maintenant.

On m'a déjà proposé d'utiliser la fonction eval mais ca ne fonctionne pas

Code : Tout sélectionner

$str="2*2+7"; $resultat=eval($str); echo $resultat; //affichera 11
Merci, c'est assez emmerdant de bloquer sur un truc pareil.
A bientôt,

Posté : 24 mars 2007, 14:58
par jojolapine
tient on s'est déja vu quelque part non ?
<?php
$lachainequeturecuperes="2+2";
$chaine="return ".$lachainequeturecuperes.";";
echo eval($chaine);
?>

Posté : 24 mars 2007, 15:00
par titerm
eval prend du php en entrée, pas des expressions arithmétique

$str="2*2+7";
$resultat=eval('return ' . $str .';');
echo $resultat; //affichera 11

Posté : 24 mars 2007, 15:02
par Nonoteam
:D

Merci à tous les deux.