Comment transformer un prix en FRANCS -> EUROS (PHP) - Programmation
Marsh Posté le 10-04-2001 à 10:49:37
moi je l'ai fait en javascript, c'est super facil, mais je ne connais pas du tout le PHP. C'est quoi d'ailleurs, un equivalent de ASP.
prix_en_euros=prix_en_francs * 0,15244901723741037903399155737343
http://www.crdp.ac-grenoble.fr/imel/JLJ/euro/euro.htm
déolsé mais c'est tout ce que je peux faire ne connaissans pas php.
Marsh Posté le 10-04-2001 à 10:57:26
Une petite précision réglementaire : ta formule n'est pas légale !!!
Les conversions doivent se faire à partir de 6,55957 F pour un Euro mais jamais avec l'inverse (c'est pas moi qui le dit c'est l'Europe)
=> prix_en_euros=prix_en_francs / 6,55957
La gestion des arrondis est également réglementée.
Celà n'a aucune importance bien sûr pour un calcul personnel, mais c'est fondamental pour un site commercial.
A+
Marsh Posté le 10-04-2001 à 11:14:34
Php c'est dans le meme genre que ASP...
Sauf que Php est gratos )
JPA -> t'as Raison il faut bien diviser par 6.55957
Mais bon faut encore que je fasse des tests =)
Merci
Marsh Posté le 10-04-2001 à 13:08:27
epo a écrit a écrit : Php c'est dans le meme genre que ASP... Sauf que Php est gratos ) JPA -> t'as Raison il faut bien diviser par 6.55957 Mais bon faut encore que je fasse des tests =) Merci |
Attention l'arrondi n'est pas l'arrondi bancaire...
Marsh Posté le 10-04-2001 à 13:57:26
BENB -> Attention l'arrondi n'est pas l'arrondi bancaire...
Tu aurais une autre sol à me proposer pour arriver à un arrondi comme il faut avec juste 2 chiffres après la virgule ?
Marsh Posté le 10-04-2001 à 14:14:11
Voilà le résultat d'une petite recherche (euro.gouv.fr)
2 - Opérations de conversion unitaire
A - Conversion unitaire simple (article 4.1 du règlement)
1 : euro en franc
Montant en euros x taux de conversion = montant en francs
Le résultat exact de la multiplication comporte 7 chiffres après la virgule.
Il sera fait appel à la règle d' arrondi suivante pour obtenir un montant exprimé avec deux chiffres après la virgule, c'est à dire :
si le troisième chiffre après la virgule est égal ou supérieur à 5, on arrondit au centime supérieur ;
si le troisième chiffre après la virgule est inférieur à 5, on arrondit au centime inférieur.
Exemples :
47,21 euros x 6,55957 = 309,6772997 F arrondi à 309,68 F
47,22 euros x 6,55957 = 309,7428954 F arrondi à 309,74 F
2 : franc en euro
Montant en francs:taux de conversion = montant en euros
La même règle d' arrondi s'applique.
Exemple : 1.321,24 F : 6,55957 = 201,4217395 .... euros arrondi à 201,42 euros
Le règlement communautaire interdit l'usage du taux inverse ce qui oblige à effectuer une division au lieu d'une multiplication.
Commentaire ans le cas de conversion unitaire simple, la proposition de règlement est claire et suffisante.
B - Conversion unitaire croisée (article 4.4 du règlement)
Il faut effectuer deux opérations consécutives puisqu'il n'y a plus de taux de change entre deux monnaies :
Montant en francs:taux de conversion euro -franc = montant intermédiaire en euros
Montant intermédiaire en euros x taux de conversion euro -mark = montant en marks
Ce montant intermédiaire doit être arrondi à au moins trois décimales.
Exemple :
montant de 1.321,24 F
montant intermédiaire en euros : 1.321,24:6,55957 = 201,4217395 arrondi à 201,421
montant en marks : 201,421x1,95583 = 393,9452344 arrondi à 393,95
Le règlement prévoit que toute autre méthode qui produit les mêmes résultats peut être utilisée.
Commentaire ans le cas de conversion unitaire croisée, la proposition de règlement est claire et suffisante.
C - Conversion suivie d'une conversion inverse
1 : euro en franc puis en euro
Premier cas, un montant exprimé à l'origine en euros est converti en francs puis reconverti en euros, le montant d'origine en euros est retrouvé.
Exemple :montant d'origine 204,36 euros
montant en francs 204,36 x 6,55957 = 1.340,5137252
montant en francs arrondi à 2 chiffres après la virgule 1.340,51
conversion inverse 1.340,51 : 6,55957 = 204,3594321
montant en euros arrondi à 2 chiffres après la virgule 204,36
2 : franc en euro puis en franc
Dans le deuxième cas où un montant exprimé à l'origine en francs est converti en euros puis reconverti en francs, il peut y avoir un écart entre le montant d'origine et le montant final qui peut aller de moins 3 à plus 3 centimes.
Exemple :montant d'origine 1.323,35 francs
montant en euros 1.323,35 : 6,55957 = 201,7434069
montant en euros arrondi 201,74
conversion inverse 201,74 x 6,55957 = 1.323,3276518
montant en francs arrondi 1.323,33
On constate un écart consécutif à une conversion franc/ euro /franc de 2 centimes
Selon les acteurs et les circonstances, le montant d'origine ou la différence d' arrondi seront connus alors que dans d'autres cas ils ne le seront pas.
Marsh Posté le 10-04-2001 à 14:30:50
JPA a écrit a écrit : Une petite précision réglementaire : ta formule n'est pas légale !!! Les conversions doivent se faire à partir de 6,55957 F pour un Euro mais jamais avec l'inverse (c'est pas moi qui le dit c'est l'Europe) => prix_en_euros=prix_en_francs / 6,55957 La gestion des arrondis est également réglementée. Celà n'a aucune importance bien sûr pour un calcul personnel, mais c'est fondamental pour un site commercial. A+ |
oui mais le resultat obtenu est le meme et en plus c'etait une petite optimisation (la division est beaucoup plus longue que la division). Est ce que c'est tres utile d'optimiser comme ca ? ben je ne pense pas surtout si c'est illegal . En plus le gain n'est pas perceptible quelques ns (nano secondes) peut etre ?
Marsh Posté le 10-04-2001 à 10:24:40
Tout est dit dans le sujet.
Je cherche à afficher le tarif en francs (pas de pb)
Mais aussi en Euros par contre la je ne sais pas comment faire ?
En plus on m'a dit que PHP posait des problèmes pour les calculs...
@+