web-dev-qa-db-fra.com

Quel est le cas d'utilisation pour formater des valeurs monétaires avec un symbole de devise * dépendant du système *?

De nombreuses langues de programmation de haut niveau ont des fonctionnalités intégrées pour formater un nombre avec A dépendante du système Symbole de devise:

-- Outputs $100.00 (en-US) or € 100,00 (de-AT)

Console.WriteLine(100.ToString("C"));  // C#
? FormatCurrency(100)                  ' VBA
...

Je développe des logiciels d'affaires depuis plus de 20 ans et je n'ai pas encore trouvé de cas d'utilisation unique pour cette fonctionnalité.

La chose est: $ 100 est une somme d'argent complètement différente que € 100. Si je stocke 100 Dans un champ de base de données et simplement "formater la valeur en fonction de la devise", l'utilisateur obtiendra une quantité d'argent différente en fonction de leur réglage du système.

Même si je remplace toujours la locale, cela ne signifie pas nécessairement que le symbole monétaire restera constant: de-AT (avec beaucoup d'autres locaux) passés de ATS à il y a environ 20 ans. Dans ce cas, la quantité d'argent affichée ne varierait pas seulement par les paramètres régionaux, mais également par le niveau de correctif du système d'exploitation.

Qu'est-ce que je rate? Pour quel cas d'utilisation est cette fonctionnalité réellement utile ?

76
Heinzi

Gérer plusieurs devises a été un problème depuis plusieurs siècles (et des millénaires même). Seules les solutions informatiques (début d'abord basées sur les hypothèses des États-Unis en anglais) le problème simplification excessive.

Plusieurs devises ne seront pas fin, de nouvelles monnaies sont encore en cours de création (notamment les monnaies virtuelles, ou " communautaires/sociaux " monnaies qui sont créés localement pour contrer la mauvaise influence des entreprises mondiales sur l'économie locale).

Aucune unification a été comme il est pas réaliste pour de nombreux marchés. Et souvenons-nous que maintenant toutes les entreprises sont faites dans un contexte mondial. Il ne fait pas de sens aujourd'hui de faire des affaires (ou même les interactions sociales) avec un seul currenciy.

Vous pouvez penser que les codes ISO sont assez, mais cela est faux, de nombreuses monnaies utilisées aujourd'hui ne sont pas codés simplement parce qu'ils ne sont pas négociés ouvertement sur les marchés mondiaux (certaines monnaies locales interdisent de telles transactions pour favoriser le développement des entreprises locales et des activités et plus sur le plan social/équilibré des échanges en termes de wror ou le service fourni et le temps/efforts passés pour résoudre les problèmes réels).

Codes ISO sont bons pour ces monnaies actuellement négociées dans un contexte multilingue dans le monde entier; ils sont encore pauvres pour les modéliser les interactions sociales. Considérez chaque devise d'avoir son identité propre et propre valeur (éventuellement des accords indépendants et non convertibles à d'autres monnaies ecept par spécifiques/ad hoc privés entre leurs utilisateurs).

Ce qui est important est alors d'identifier les utilisateurs ou les communautés qui acceptent de les échanger. Comme nous identifions les organisations, il peut y avoir des millions. Un seul code de 3 caractères ne représentera pas toutes les organisations du monde. Et chaque organisation adopte sa propre terminologie, les conventions et les langues qu'ils comprennent.

En résumé, les monnaies ne sont pas liées à un système (pas d'interaction sociale) et d'une monnaie au niveau du système ne pas de sens ou à la " ouvert " marché mondial où ils " peuvent " être échangées (pas toujours le cas).

Vous avez donc besoin d'un concept clair où les montants identifier à la fois les sommes/valeurs et l'identité de la monnaie. Le formatage est un aspect secondaire qui est valable uniquement dans le cadre des communautés qui acceptent d'échanger la monnaie ouvertement et non seulement privé (transactions privées se produisent beaucoup plus souvent que les transactions sur les marchés négociés ouverts: vous appelez cela le " marché noir ", et les gouvernements ne l'aime pas, mais il a toujours existé). Le seul intérêt des monnaies " ouvertes " est que les gouvernements et les banques acceptent de les échanger dans un limité marché, mais ils offrent également un limité garantie de la valeur (nous savons que ces garanties sont très limitées, et en fait, ils sont en baisse: " ouverts " devises peuvent être saisis légalement par les gouvernements ou les banques pour leur propre intérêt sans demander aux communautés, mais il est la base des systèmes fiscaux que les gouvernements dépendent tous, mais le gouvernement devrait se rappeler qu'ils peuvent le faire seulement parce qu'ils ont une confiance limitée fournie par leur population qui n'ont transféré une partie de leur liberté de prendre leurs propres décisions commerciales sans autorisation).

Toutes les monnaies sont convertibles, et pas tous sont traduisibles. Les options de formatage varient aussi beaucoup (pas utiliser tout un système décimal, ne pas utiliser tous les mêmes conventions d'arrondi). Chaque monnaie identifie son propre marché et un ensemble de personnes avec leurs propres cultures et conventions, et un ensemble de transactions privées entre eux, et leurs propres règles régissant leurs émissions (et il ne faut pas oublier que certains " monnaies du monde " ne sont même pas négociables ouvertement, ils sont réservés à certaines institutions, comme le DTC du Fonds monétaire International, et de nombreux actifs réservés aux commerçants sur les marchés très risqués: il y a des tonnes de fonds, actions, obligations, bons de souscription constamment créés, et la plupart d'entre eux ne sont pas réglementés, et la plupart échapper aux systèmes fiscaux car ils ne sont même pas situés dans une claire juridiction, beaucoup d'entre eux sont également abandonnés tous les jours et la chute à une valeur nulle pour tout autre commerce, exactement comme les organisations sont créées et meurent).

Toutes les monnaies ont une durée de vie limitée, tout comme les organisations, les pays et les gens dans la vie réelle, et tout comme la confiance qu'ils donnent à l'autre, ou révoquent à un taux incroyable. Il est alors absurde de parler d'une unité " monnaie du système " (mis en place dans les années 1960, mais déjà aujourd'hui ou qui désaffectée ne devrait plus être utilisé comme il était une mauvaise conception et une mauvaise représentation du monde réel).

0
Philippe Verdy