Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1023 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Récupérer toutes les valeurs de devises

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Récupérer toutes les valeurs de devises

n°2025396
Alekusu2
Posté le 27-09-2010 à 15:49:21  profilanswer
 

Bonjour à tous,
 
J'ai un petit souci, je souhaite récupérer les valeurs de devises pour un outils de conversion. En gros convertir des euros en dollars avec le taux actuels par exemple, mais mon souci actuel est le suivant :
 
- J'ai commencé par utilisé l'API de Google, problème : toutes les devises n'y figurent pas. Par exemple, si je veux la valeur du Kip (monnaie laotienne), elle n'y figure pas
- Je me suis ensuite tourné vers l'API de Yahoo, tout fonctionnait très bien car ils ont toutes les devises. Seul problème, l'API de Yahoo ne permet pas (sauf erreur de ma part) de faire une requete sur un montant variable. Il ne donne que la valeur de 1 MONNAIE1 en MONNAIE2, donc la valeur de 1 euro en dollars, de 1 Kip en euro, etc. Mais pas de 1000 Kips en euros, pour ça on doit multiplier le résultat obtenu par 1000. Jusque là, ça allait, sauf que je me suis rendu compte que Yahoo avait un dysfonctionnement. Par exemple, un Dong (monnaie vietnamienne) vaut 0.0000381147 EUR, sauf que il y a tellement de décimales avant d'avoir la valeur, que pour Yahoo, 1 dong = 0 euro. Donc quand je multiplie par 1000, ou par 1 millions, j'ai toujours 0 euro. Ca me fait ça évidemment qu'avec quelques monnaies, mais c'est pénible. Et je vois pas trop de solution sur ce problème là.
 
Ainsi, je cherche soit un flux RSS avec les devises (mais j'ai un peu cherché et j'ai rien trouvé, à part des devises "de base" alors que j'ai besoin d'une liste très étendue) soit un site qui propose toutes les devises sur une page et que je pourrais récup.
 
Bref, toutes idées, script déjà mis en place, etc. est bonne à prendre :jap:
 
Merki d'avance :jap:


---------------
Ils ne sont grands que parce que nous sommes à genoux. - Topic Kingdom
mood
Publicité
Posté le 27-09-2010 à 15:49:21  profilanswer
 

n°2025405
rufo
Pas me confondre avec Lycos!
Posté le 27-09-2010 à 16:10:45  profilanswer
 

Et des sites comme boursorama, y'a pas les taux de changes?


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2025412
Alekusu2
Posté le 27-09-2010 à 16:21:36  profilanswer
 

Ca se limite à quelques devises : http://www.boursorama.com/devises/devises.phtml


---------------
Ils ne sont grands que parce que nous sommes à genoux. - Topic Kingdom
n°2025448
Paulp
~, sweet ~
Posté le 27-09-2010 à 17:24:49  profilanswer
 

Tu peux peut-être garder l'API Yahoo, et détecter les valeurs nulles.
Dans ce cas, tu récupères le facteur de conversion inverse (un euro en Dong, au lieu d'un Dong en euro), puis tu l'inverses ...

n°2025449
Alekusu2
Posté le 27-09-2010 à 17:36:15  profilanswer
 

Paulp a écrit :

Tu peux peut-être garder l'API Yahoo, et détecter les valeurs nulles.
Dans ce cas, tu récupères le facteur de conversion inverse (un euro en Dong, au lieu d'un Dong en euro), puis tu l'inverses ...


 
Ah.... Pas bète ! Je vais explorer cette piste !!!


---------------
Ils ne sont grands que parce que nous sommes à genoux. - Topic Kingdom
n°2025477
Alekusu2
Posté le 27-09-2010 à 19:10:23  profilanswer
 

Mince, quand je fais la division, ça me balance des résultats du genre  
 
3.80437092317E-5
 
Y a une fonction en PHP pour éviter les puissances et avoir un résultat "normal" ?
Car quand je le mouline ensuite dans number_format, il reconnait pas et ça me balance un 0 :D


Message édité par Alekusu2 le 27-09-2010 à 19:18:55

---------------
Ils ne sont grands que parce que nous sommes à genoux. - Topic Kingdom
n°2025585
Paulp
~, sweet ~
Posté le 28-09-2010 à 09:57:38  profilanswer
 

Ça dépend du second argument de number_format.
Tu peux peut-être arrondir au centième supérieur pour avoir 0.01 au lieu de 0.00 ...

n°2025664
rufo
Pas me confondre avec Lycos!
Posté le 28-09-2010 à 14:38:03  profilanswer
 

sprintf sinon ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2025679
Alekusu2
Posté le 28-09-2010 à 15:20:06  profilanswer
 

Sprintf :
 
<?php
$number = 362525200;
 
echo sprintf("%.3e", $number); // affiche 3.63e+8
?>
 
Ca permet de donner une notation scientifique, mais moi je veux faire l'inverse :/ ou alors j'ai mal compris la doc :D


Message édité par Alekusu2 le 28-09-2010 à 15:21:33

---------------
Ils ne sont grands que parce que nous sommes à genoux. - Topic Kingdom
n°2025707
olivthill
Posté le 28-09-2010 à 16:17:05  profilanswer
 

Pour la source, Yahoo est un bon choix gratuit. Sinon, les professionnels utilisent Bloomberg ou Reuters, mais je crois que c'est payant. Parfois, pour certaines devises, on fait des "cross", c'est-à dire que l'on combine deux taux de conversion, par exemple si, pour la devise machin, on n'a que le taux dollar/machin, et que l'on veut le taux euro/machin, on combinera le taux euro/dollar et le taux dollar/machin.
 
Pour le calcul, on peut faire une conversion, par exemple, celle qui est donnée dans les commentaires par Bob le 8 mai 2009 sur la page
http://www.php.net/manual/en/language.types.float.php
 
Ou bien, on peut utiliser des bibliothèques spéciales, par exemple BCMath Arbitrary Precision Mathematics, voir http://www.php.net/manual/en/book.bc.php .

mood
Publicité
Posté le 28-09-2010 à 16:17:05  profilanswer
 

n°2025750
Alekusu2
Posté le 28-09-2010 à 18:30:11  profilanswer
 

Yes merci oliv, la fonction de notre chère bob fonctionne à merveille, merki !!!
 
Et merci à tous ceux qui ont essayé de résoudre mon problème :jap: c'est vraiment sympa de votre part :jap:


Message édité par Alekusu2 le 28-09-2010 à 18:31:36

---------------
Ils ne sont grands que parce que nous sommes à genoux. - Topic Kingdom

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Récupérer toutes les valeurs de devises

 

Sujets relatifs
Vos avis pour un site Joomla, modification PhpPHP et SQL SERVER 2000 via odbc
MVC - PHP et Jqueryrécupérer l'état d'un processus
probleme page PHP sous internet explorerPHP scandir et accents
[résolu] Authentification PHP / IISRécupérer une valeur retournée par une fonction appellée par un event
Récupérer un type de fichier sur lecteurs voulusRécupérer la valeur d'un bouton radio en JS
Plus de sujets relatifs à : [PHP] Récupérer toutes les valeurs de devises


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR