J'ai regardé autour des questions et le formatage des prix avec différentes devises semble être un problème récurrent. J'ai rencontré une variante de ce problème.
J'ai trouvé un format pour afficher le prix, disons amount currencyCode
. Maintenant, mon montant varie en fonction de la devise, car par exemple 1 EUR vaut environ 25000 VND. Donc mon article (je traite les articles d'une plage de valeurs spécifique, entre 10 et 100 euros) peut s'afficher comme 10 EUR
ainsi qu'environ 250000 VND
, qui affiche une taille très différente lors de son affichage. De plus, j'ignore la partie fractionnaire du montant.
Ma question est donc la suivante: y a-t-il une durée maximale à laquelle je peux m'attendre (je considère que ma stratégie d'affichage doit être valable pour n'importe quelle devise officielle, et le montant est l'équivalent de 1 USD)? Ou existe-t-il une stratégie d'affichage connue (peut-être qu'au Vietnam, les gens affichent uniquement le nombre de milliers de Dong, pas le nombre de Dong)?
Les sites Web de différence donnent des réponses différentes. Voir ce et ce .
Une partie du problème est qu'il change constamment, il vaut donc mieux ne pas supposer un nombre. Le dong semble actuellement être le plus élevé, mais d'autres devises ont été plus élevées dans le passé.
La pièce de 6 000 000 000 (6 * 10 ^ 9) de yuan en or a été émise par la Banque provinciale du Xinjiang en 1949 et en Allemagne en 1923, il y avait un billet de 100 000 000 000 000 000 (10 ^ 14). Le pengő hongrois, illustré ci-dessus, a atteint une valeur de 2 000 000 000 000 000 000 000 (2 * 10 ^ 21).
Bien entendu, ces augmentations se sont produites en période d'extrême instabilité. Vous pouvez décider que votre application n'a pas besoin d'être conçue pour fonctionner avec la devise du côté perdant de la troisième guerre mondiale. En outre, de nombreuses personnes dans ces pays passeraient à l'achat en devises étrangères plus stables.
À mon avis, n'appliquez pas de stratégie de raccourcissement pour la devise plus longue. Essayez de trouver le cas maximum possible et le cas minimum et concevez votre expérience en fonction des deux cas, ou faites 2 variations pour chaque devise si vous créez des versions localisées pour chaque pays.
Il semble que vous essayez d'implémenter une largeur fixe dans un champ où le nombre de caractères varie de un à six. Si vous le faites, il y aura un espace indésirable dans la vue qui aggravera l'expérience de l'utilisateur. À partir de votre exemple, vous afficherez:
The price for this item is 10 EUR.
The price for this item is 250'000 VND.
Au lieu d'essayer de trouver le nombre maximal de caractères dans le champ amount
, les développeurs implémentent souvent le rendu dynamique du contenu. Non seulement il sera plus facile à lire, mais vous aurez également un système qui fonctionne même s'il y a une inflation majeure dans un pays, à laquelle vous ne vous attendiez pas. Les taux de change changent chaque jour, et nous devons également tenir compte de cette possibilité.