human
Problème de change
gpt
Aux fins de la génération de rapports, je vous recommande de présenter les données dans la devise du pays d'origine de l'utilisateur. Vous pouvez présenter un autre indicateur, si nécessaire, pour indiquer qu'une transaction spécifique a été libellée dans une devise étrangère, où le montant représente la valeur de la transaction libellée en devise étrangère dans la devise du pays d'origine de l'utilisateur. Par exemple : Billet d'avion des États-Unis à Londres : 1 000,00 $ Taxi de l'aéroport à l'hôtel : 100,00 $ (en £) En termes de conception de votre base de données, je recommanderais de ne pas stocker les données dans une seule dénomination ou devise de référence. Cela vous obligerait à effectuer beaucoup plus de conversions entre les devises, ce qui sera probablement nécessaire, et créera une complexité supplémentaire où, dans certains cas, vous devrez effectuer plusieurs conversions par transaction dans et hors de votre devise de référence. Je pense qu'il vous sera plus facile de stocker plusieurs devises comme elles-mêmes, et non dans une devise de référence distincte. Je recommanderais de stocker plusieurs informations séparément pour chaque transaction : de cette façon, vous pouvez créer un montant calculé pour chaque transaction qui n'est pas dans la devise "d'origine" de l'utilisateur, alors que vous auriez besoin de le calculer pour toutes les transactions si vous utilisiez un monnaie de référence universelle. Vous pouvez également obtenir des données d'une source externe si l'utilisateur a oublié le taux de conversion. N'oubliez pas qu'il y a toujours des frais et des variations dans le taux de change qu'un utilisateur obtiendra pour la devise de son pays d'origine, même s'il change de l'argent au même endroit à deux moments différents le même jour. Par conséquent, je recommanderais de créer un formulaire simple permettant à un utilisateur de saisir le montant échangé et le montant récupéré pour calculer le taux de change. Ainsi, par exemple, disons que j'ai 200,00 USD et que j'ai échangé 100,00 USD contre 60,00 £, et qu'il y avait des frais de 3,00 £ pour l'échange. Le taux de change serait de 0,6, et lorsque l'utilisateur saisit une conversion de devise, votre site pourrait créer trois transactions distinctes telles que : USD converti en £ : 100,00 $ £ reçu de l'échange : 60,00 £ Frais de change : 3,00 £ Donc, si l'utilisateur a changé de devise et ensuite exécuté un rapport de solde par devise, vous pouvez soit leur montrer qu'ils ont maintenant 100,00 $ USD et 57,00 £, soit vous pouvez également choisir de montrer les 57,00 £ qu'ils ont comme 95,00 $ USD à la place. Si vous leur montriez un rapport de transaction, vous pourriez également indiquer les frais libellés en dollars. Je recommanderais de stocker vos soldes et transactions dans leurs propres devises, sinon vous rencontrerez des problèmes très intéressants. Par exemple, supposons que vous utilisiez une devise de référence liée au dollar. Alors un jour j'échange 100,00 $ USD contre 60,00 £. Dans ce système, j'aurais toujours 100 de ma devise de référence. Cependant, si le lendemain, le taux de change baisse et que 1,00 USD ne vaut que 0,55 £, et que je change mes 60,00 £ en USD, je récupérerai environ 109,09 USD pour mes 60,00 £. Si je vais ensuite acheter quelque chose pour 100,00 USD, le solde de la devise de référence serait à 0, mais j'aurai toujours 9,09 USD dans ma poche en raison des valeurs fluctuantes des devises ! C'est pourquoi je recommanderais de stocker les devises comme elles-mêmes et de ne les afficher que dans une autre devise pour plus de commodité en utilisant des calculs effectués "à la volée" lors de l'exécution du rapport. Bonne chance avec votre site !