Quel type de données XML dois-je utiliser pour devise / argent?

Après avoir lu quelques questions sur le type de données Java à utiliser pour la devise / monnaie, j’ai décidé d’utiliser la méthode int / long, dans laquelle vous stockez la valeur de la devise / monnaie comme unité la plus basse (comme les cents).

Cela s’applique-t-il également au stockage des données (en XML)?

La première chose qui me vienne à l’esprit est non, car elle sera simplement «analysée» dans un format décimal XML lors du stockage des données, puis «analysée» à nouveau lorsque je lirai les données.

Toutes les suggestions sont les bienvenues, car je suis novice dans ce domaine.

j’ai utilisé ça

     

Difficile de vous donner une conception avec si peu d’informations sur les exigences, mais je ne mettrais jamais d’argent en XML sans la devise:

 230.45 

Mais si vous êtes aux États-Unis, les gens peuvent vous traiter comme un extra-terrestre si vous osez suggérer qu’ils gèrent plusieurs devises, de sorte que votre kilométrage peut varier …

Je pense qu’un bon test pour savoir si vous avez bien conçu XML est le suivant: un lecteur humain devinera-t-il correctement ce que cela signifie sans consulter la documentation? Tout le monde ne partage pas cette vision des exigences, et c’est parfois irréaliste. Mais omettre la virgule décimale, c’est simplement demander que les données soient traitées de manière erronée quelque part le long de la ligne.

J’ai utilisé ceci

  Type representing a payment amount (eg price or total)                

Cela me permet de représenter mes montants monétaires en combinant un code de devise à trois caractères (ISO 4217) et un montant limité à deux décimales.

Vous pourriez peut-être aller plus loin et définir le code de devise comme un type énuméré qui spécifie tous les codes de devise ISO 4217 valides pour éviter toute confusion aux yeux de l’utilisateur – par exemple, ils peuvent ne pas savoir si la livre sterling est GBP ou UKP.