Problème incrémentation

Eléphanteau du PHP | 43 Messages

12 févr. 2009, 21:57

Bonsoir,

Code : Tout sélectionner

$long = 354 + 0.1; while($long <= 354.9) { echo $long.'<br />'; $long++; }
Donc voici mon code alors mon but est d'avoir en résultat :

354.1
354.2
354.3
354.4
...
359.9

Mais sa marche pas j'obtiens ça :

354.1
355.1
356.1
357.1
358.1
359.1

Si vous avez des idées pourquoi j'ai ce résultat ?

:wink:
Météo Gironde : la météo en Gironde et en Aquitaine : Dordogne, Landes, Lot et Garonne et Pyrénées Atlantique. Préventions des phénomènes violents en Aquitaine.

www.meteo-gironde.net

Eléphant du PHP | 447 Messages

12 févr. 2009, 22:15

hello,

peut-être en créant 2 variables:
$long = 354.0;
$float = 0.1;

while($long <= 354.9)
{


echo $long + $float.'<br />';

$float++;

} 
Probably (only a) Human Problem?

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

12 févr. 2009, 22:19

Les écritures suivantes sont équivalentes.
$long++; 
$long+=1; 
$long=$long+1; 
Elles augmentent donc la valeur de ta variable d'une unité.

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

12 févr. 2009, 22:21

Ceci correspond peut-être mieux à ce que tu souhaites obtenir.
for ($i=3541 ; $i<3549 ; $i++)
    { $long = $i/10;
      echo $long.'<br />';
    } 

Eléphanteau du PHP | 43 Messages

12 févr. 2009, 23:47

Ah oui en effet sa marche très bien albat ce que tu viens faire. J'avais pas du tout pensé à m'y prendre comme ça :roll:

Merci pour vos réponses

:wink:
Météo Gironde : la météo en Gironde et en Aquitaine : Dordogne, Landes, Lot et Garonne et Pyrénées Atlantique. Préventions des phénomènes violents en Aquitaine.

www.meteo-gironde.net