par
Invité » 17 juil. 2005, 02:06
tu as raison et j'ai corrigé ca.
nouveau script (encore plus poussé) :
<?
$fp = fopen("http://www.fininfo.fr/finfeed/wafabourse/valeur.hts?&id=MA0000010043%2CXX%2C102","r"); //lecture du fichier
if (!isset($page)) $page=""; // creer $page si elle n'existe pas
while (!feof($fp)) { //on parcourt toutes les lignes
$page .= fgets($fp, 4096); // lecture du contenu de la ligne
}
$titre = eregi("Dernier cours :(.*) MAD</TD>",$page,$regs); //on isole la valeur
echo "$regs[1] <br>";
$nettoyee=substr($regs[1], 25); // effacer tous les caracteres avant la valeur
echo "$nettoyee <br>";
$new_nettoyee = str_replace("." , "," , $nettoyee); // conversion du . en ,
echo "$new_nettoyee <br>";
$valeur = (double) $new_nettoyee; // conversion de la valeur en double
echo "$valeur <br>";
echo(strlen($valeur));
$calcul=$valeur*2; // calcul pour verifier que c'est double
echo "$calcul";
fclose($fp);
?>
resultat :
610.00
610.00
610,00
610
31220
les 2 premieres lignes : OK
la 3eme ligne : j'ai perdu les valeurs apres la virgule lors de la conversion
la 4eme ligne : meme si on neglige ce qu'il y a apres la virgule, le resultat de la multiplication est faux
...
tu as raison et j'ai corrigé ca.
nouveau script (encore plus poussé) :
[php]<?
$fp = fopen("http://www.fininfo.fr/finfeed/wafabourse/valeur.hts?&id=MA0000010043%2CXX%2C102","r"); //lecture du fichier
if (!isset($page)) $page=""; // creer $page si elle n'existe pas
while (!feof($fp)) { //on parcourt toutes les lignes
$page .= fgets($fp, 4096); // lecture du contenu de la ligne
}
$titre = eregi("Dernier cours :(.*) MAD</TD>",$page,$regs); //on isole la valeur
echo "$regs[1] <br>";
$nettoyee=substr($regs[1], 25); // effacer tous les caracteres avant la valeur
echo "$nettoyee <br>";
$new_nettoyee = str_replace("." , "," , $nettoyee); // conversion du . en ,
echo "$new_nettoyee <br>";
$valeur = (double) $new_nettoyee; // conversion de la valeur en double
echo "$valeur <br>";
echo(strlen($valeur));
$calcul=$valeur*2; // calcul pour verifier que c'est double
echo "$calcul";
fclose($fp);
?>[/php]
resultat :
[quote]610.00
610.00
610,00
610
31220[/quote]
les 2 premieres lignes : OK
la 3eme ligne : j'ai perdu les valeurs apres la virgule lors de la conversion
la 4eme ligne : meme si on neglige ce qu'il y a apres la virgule, le resultat de la multiplication est faux
...