Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/02/2011, 16h49   #1
Membre du Club
 
Inscription : novembre 2005
Messages : 170
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 170
Points : 53
Points : 53
Par défaut PHP 5.2.5 n'a pas l'air de savoir compter

salut,
voici un bout de code :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
 
$a = 0.55 + 0.55  + 0.55  + 0.55  + 0.55  + 0.55  + 0.55  + 0.55  + 0.55  + 0.55  + 0.55  + 0.55 ;
echo 'a='.$a.'<br>';
 
$b = 6.6;
echo 'b='.$b.'<br><br>';
 
if($a == $b)
	echo '=';
else
	echo '!=';
 
?>
Chez moi ca m'affiche ceci :

a=6.6
b=6.6
a != b

Si vous avez des pistes pour apprendre a compter a php, je suis preneur, parceque la je suis bien emm... j'ai des calculs a faire, et comme vous le voyez ca fait n'importe quoi...

merci d'avance
benkunz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2011, 17h00   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
pour comparer les float en PHP c'est bccomp

http://fr.php.net/manual/fr/function.bccomp.php
http://www.php.net/manual/fr/language.types.float.php
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2011, 17h07   #3
Membre Expert
 
Avatar de gene69
 
Inscription : janvier 2006
Messages : 951
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : janvier 2006
Messages : 951
Points : 1 063
Points : 1 063
tu aurais fait de la physique dans la vie, alors tu saurais que 6.6 est très différent de 6.60.

Tout ce qu'il y a de plus normal en tout cas, tu te laisses juste avoir par l'omission du zéro final.

Si le chapeau de la réponse ne t'éclaire pas, rappelle toi que le zéro final est improprement sous entendu (ou pas) et que tu utilises le calcul à virgule flottante. Si tu veux faire fonctionner ce que tu fais, il faut se restreindre aux entiers (vu qu'il n'y a pas de type décimal).

tient regarde je corrige ton script.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
 
$a = 0.55 + 0.55  + 0.55  + 0.55  + 0.55  + 0.55  + 0.55  + 0.55  + 0.55  + 0.55  + 0.55  + 0.55 ;
echo 'a='.$a.'<br>';
 
$b = 6.6;
echo 'b='.$b.'<br><br>';
 
var_dump($a);
 
// poudre de perlimpimpin 
$a = round( $a, 1);
 
var_dump($a);
var_dump($b);
 
if($a === $b)
	echo ' = ' ;
else
	echo ' != ';
__________________
PHP fait nativement la validation d'adresse électronique Vous êtes perdu en PHP? rassurez-vous ici (en)
Utilisez le bouton résolu!
gene69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2011, 18h00   #4
Membre chevronné
 
Inscription : juin 2004
Messages : 747
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : juin 2004
Messages : 747
Points : 741
Points : 741
0.55 est un nombre fini en base 10, il ne l'est pas en binaire, et donc sa représentation physique par le processeur est une approximation...
__________________
  • Mon blog PHP : http://blog.alterphp.com
  • "Peace cannot be kept by force, it can only be achieved by Understanding" -- Albert Einstein
pc.bertineau est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2011, 08h16   #5
Membre du Club
 
Inscription : novembre 2005
Messages : 170
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 170
Points : 53
Points : 53
merci a vous, avec la fonction bccomp, j'ai pu m'en sortir.
benkunz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2011, 08h20   #6
Membre du Club
 
Inscription : novembre 2005
Messages : 170
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 170
Points : 53
Points : 53
tant que j'y suis, vous connaitrez pas l'equivalent en javascript de la fonction bccomp ? j'en aurai aussi besoin
benkunz est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h38.


 
 
 
 
Partenaires

Hébergement Web