France Hardware : Forums de discussion
Retrouvez les prix près de chez vous :  
Index du forum | Liste des membres | Liste des groupes | Inscription | F-A-Q | Recherche
Pseudo :    Password :     
22 945 membres enregistrés - 1 895 335 posts - 97 286 topics
Index des forums FH  | Index des forums DegroupNews
      Programmation
           [php] conversion d'une chaine de caractere en int
32 connectés dont 1 modérateur (knightmare)(record : 207 le 05 juin 2007 - 05 h 23)

Vous devez vous connecter pour répondre au topic.
1,2,3 | Suivant
[php] conversion d'une chaine de caractere en int

betux
Coordinateur
testis ...

Messages : 2 852
Inscrit le 08/10/03
Ville : lyon et parfois grenoble
Non connecté
  Posté le 07 janvier 2008 - 15 h 26 m 27 s

J'aimerai que la var me retourne le chiffre.
Quand je fais :

$_SESSION['Resultat']= (int)("1+3")

Il me retourne 1.

est ce que qq un a une idée ?

merci. :jap:



Il faut que le hasard renverse la fourmi pour qu elle voit le ciel.

moinal


Messages : 126
Inscrit le 12/03/05
Ville : Aix en provence
Non connecté
  Posté le 07 janvier 2008 - 15 h 48 m 36 s
enlève les double guillemets

(1+3)




betux
Coordinateur
testis ...

Messages : 2 852
Inscrit le 08/10/03
Ville : lyon et parfois grenoble
Non connecté
  Posté le 07 janvier 2008 - 15 h 50 m 13 s
je suis d'acord ;o)

le truc c'est que j'ai une variable en string representant ça j'aimerai savoir comment lui faire convertir et calculer.

merci :jap:



Il faut que le hasard renverse la fourmi pour qu elle voit le ciel.

moinal


Messages : 126
Inscrit le 12/03/05
Ville : Aix en provence
Non connecté
  Posté le 07 janvier 2008 - 15 h 59 m 57 s
ta chaine correspond à "1+3" ???
Si oui extrait tes deux chiffres auparavant pour les passer ensuite en entier.
si tu as 2 variables tu appliques sur celles ci et non sur la chaine avec l'operateur.




Woofy
Pour les bons tuyaux me demander

Messages : 26 271
Inscrit le 11/01/02
Ville : Paris / Grenoble
Non connecté
  Posté le 07 janvier 2008 - 16 h 01 m 05 s
et en faisant un eval() ?



:smileymouth: Totalement inutile, donc completement indispensable :smileymouth:

:sms:


betux
Coordinateur
testis ...

Messages : 2 852
Inscrit le 08/10/03
Ville : lyon et parfois grenoble
Non connecté
  Posté le 07 janvier 2008 - 16 h 13 m 09 s
il aime pas :D
bien tenté :yes:



Il faut que le hasard renverse la fourmi pour qu elle voit le ciel.

gege38
- Ancien Modérateur -
Chief of the
(¯`·.__[T3aM.BouL3T©]__.·´¯)
Potatoe Reloaded

Messages : 14 102
Inscrit le 05/02/03
Ville : Domène
Non connecté
  Posté le 07 janvier 2008 - 16 h 16 m 18 s
Mmm, sans connaitre grand chose au PHP, je serais tenté de faire un cast *avant* l'addition, du style :

int result = (int)"1" + (int)"3"
Mais bon, avec PHP qui ne type pas les variables, bonjour la lisibilité :D:



" Nous plaisons plus souvent dans le commerce de la vie par nos défauts que par nos qualités. "
--La Rochefoucauld


betux
Coordinateur
testis ...

Messages : 2 852
Inscrit le 08/10/03
Ville : lyon et parfois grenoble
Non connecté
  Posté le 07 janvier 2008 - 16 h 21 m 37 s
et ton "+" tu le int ? :D
j'essaye



Il faut que le hasard renverse la fourmi pour qu elle voit le ciel.

betux
Coordinateur
testis ...

Messages : 2 852
Inscrit le 08/10/03
Ville : lyon et parfois grenoble
Non connecté
  Posté le 07 janvier 2008 - 16 h 26 m 11 s
c'est pas mal mais le + en int il met 0 (normal) et le laisser en string et ben ... ça donne une string :D



Il faut que le hasard renverse la fourmi pour qu elle voit le ciel.

Woofy
Pour les bons tuyaux me demander

Messages : 26 271
Inscrit le 11/01/02
Ville : Paris / Grenoble
Non connecté
  Posté le 07 janvier 2008 - 16 h 31 m 22 s
Eclater la chaine sinon ?

En fait ce que tu tente de faire je l'ai en tout prêt en C (evalexpr, ou une fonction qui évalue une string contenant une expression composé de nombres positifs ou négatifs, parenthèses, et les 4 opérations de base). Mais je ne sais plus où il est.


Message édité 1 fois, la dernière par Woofy le 07 janvier 2008 - 16 h 32.

:smileymouth: Totalement inutile, donc completement indispensable :smileymouth:

:sms:


gege38
- Ancien Modérateur -
Chief of the
(¯`·.__[T3aM.BouL3T©]__.·´¯)
Potatoe Reloaded

Messages : 14 102
Inscrit le 05/02/03
Ville : Domène
Non connecté
  Posté le 07 janvier 2008 - 16 h 33 m 13 s
Dans ce cas, je ferais un if...then...else sur cette variable.

Du genre :
if ($op == "+") {
$res = (int)$a + (int)$b;
}
else if ($op == "-") {
$res = (int)$a - (int)$b;
}


Message édité 1 fois, la dernière par gege38 le 07 janvier 2008 - 16 h 34.

" Nous plaisons plus souvent dans le commerce de la vie par nos défauts que par nos qualités. "
--La Rochefoucauld


Woofy
Pour les bons tuyaux me demander

Messages : 26 271
Inscrit le 11/01/02
Ville : Paris / Grenoble
Non connecté
  Posté le 07 janvier 2008 - 16 h 44 m 21 s
si tu n'as que 2 nombres séparés par un opérateur c'est jouable.
Sinon ben ... vive la récursivité ^^.



:smileymouth: Totalement inutile, donc completement indispensable :smileymouth:

:sms:


betux
Coordinateur
testis ...

Messages : 2 852
Inscrit le 08/10/03
Ville : lyon et parfois grenoble
Non connecté
  Posté le 07 janvier 2008 - 16 h 47 m 13 s
(double) $_SESSION['Resultat']= (double)( (double) $_SESSION['Nombre']+ $_SESSION['Operateur']+ (double) $_SESSION['Memup'])

j'ai fait ça mais en fait ça marche pas car en fait il interprete pas le plus il fait par exemple

1+0+3 donc la somme ça marche mais si je fais une div ... ça additionne :D



Il faut que le hasard renverse la fourmi pour qu elle voit le ciel.

moinal


Messages : 126
Inscrit le 12/03/05
Ville : Aix en provence
Non connecté
  Posté le 07 janvier 2008 - 16 h 53 m 29 s
Si deux var séparées de type
$var1 = "1";
$var2 = "3";

tu fais un :
intval($var1+$var2);

si tu as bien ta chaine comme ceci
$chaine="1+3";
$var = explode("+", $chaine); // split ta chaine dans un tableau avec le "+" comme séparateur puis reprise comme au dessus à partir de celui ci via un for each ou directement si tu as tjrs deux valeurs




betux
Coordinateur
testis ...

Messages : 2 852
Inscrit le 08/10/03
Ville : lyon et parfois grenoble
Non connecté
  Posté le 07 janvier 2008 - 17 h 02 m 57 s
heu ... pas compris chef :dd:



Il faut que le hasard renverse la fourmi pour qu elle voit le ciel.

grabber
Coordinateur
MacBook Pro 2,4 Powered

Messages : 8 570
Inscrit le 06/03/02
Ville : Angers
Non connecté
  Posté le 07 janvier 2008 - 17 h 06 m 33 s
hello,

bah moi jfais pas comme ca...

en fait ya 2 solutions pour moi :
- soit tu types ta variable normalement car si si ca se fait en php ;) en utilisant settype : http://www.manuelphp.com/php/function.settype.php
- soit tu utilises number_format sur la variable AVANT de faire l'opération, genre :
$ma_var1 = number_format($ma_var1, 2, ".", "");
$ma_var2 = number_format($ma_var2, 2, ".", "");
$addition = $ma_var1 + $ma_var2;
Les paramètres de la fonction c'est : variable / nb de chiffres apres la virgule / separateur / separateur de milliers
attention, toujours faire les operations avec le point et pas la virgule sinon ca chie dans la colle ;)

intval ouais mais que pour les entiers, l'avantage de number_format est qu'il prend tout, pareil pour settype :jap:



:firefox:

moinal


Messages : 126
Inscrit le 12/03/05
Ville : Aix en provence
Non connecté
  Posté le 07 janvier 2008 - 17 h 10 m 06 s
lol

Peut être qe c'est moi hein, je passe rapidos à chaque fois...

c'est l'explode que tu n'as pas compris ?
il te donne un tableau $var qui est dans ton cas :
Array (
[0] => 3
[1] => 1
)

A partir de là tu peux rééploiter tes variables directement avec le intval

intval($var[0]+$var[1]);

qui te donnera donc l'entier 4




grabber
Coordinateur
MacBook Pro 2,4 Powered

Messages : 8 570
Inscrit le 06/03/02
Ville : Angers
Non connecté
  Posté le 07 janvier 2008 - 17 h 11 m 48 s
au fait, apres si tu veux par exemple arrondir, tu peux tres bein sur $addition par exemple intervenir en direct, pas la peine de refaire une etpae, par exemple dire : $addition = floor($ma_var1 + $ma_var2);

voila :jap:



:firefox:

gege38
- Ancien Modérateur -
Chief of the
(¯`·.__[T3aM.BouL3T©]__.·´¯)
Potatoe Reloaded

Messages : 14 102
Inscrit le 05/02/03
Ville : Domène
Non connecté
  Posté le 07 janvier 2008 - 17 h 24 m 10 s
Note pour plus tard : tripatouiller PHP

Bon, là en ce moment, je me fais des Perl-es, mais promis, c'est un machin qui faut que je regarde, surtout que j'ai marqué que je connaissais sur mon CV :D (oui, bon, hein, je connais PHP hein, j'ai jamais dit que j'utilisais PHP :houps: :pasmoi:)



" Nous plaisons plus souvent dans le commerce de la vie par nos défauts que par nos qualités. "
--La Rochefoucauld


betux
Coordinateur
testis ...

Messages : 2 852
Inscrit le 08/10/03
Ville : lyon et parfois grenoble
Non connecté
  Posté le 07 janvier 2008 - 17 h 32 m 11 s
je veux pas faire que des plus.
il y'a aussi des * du / du - etc ds une variable.

quel que soit le langage on se fait tj c*** sur les caracteres c'est de la folie :D

t'ain je cale là



Il faut que le hasard renverse la fourmi pour qu elle voit le ciel.

1,2,3 | Suivant
Page genérée en 0.4637 secondes par RahForum 2.0 | Gzip off |  Stats |  Metaforums |  RSS
© 2004 Cerbere Systems.
Prix Matériel Informatique | Informatique Lyon | Informatique Grenoble | Informatique Annecy | Informatique Marseille | Informatique Bordeaux | Forum Informatique
ADSL |Actualité ADSL | e-commerce | Commande Au Volant
Creative Commons
Message Boards and Forums Directory