Maison >Java >javaDidacticiel >Comment formater la devise de la roupie indienne avec des groupes à largeur variable en Java ?

Comment formater la devise de la roupie indienne avec des groupes à largeur variable en Java ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-25 08:13:28359parcourir

How to Format Indian Rupee Currency with Variable-Width Groups in Java?

Formatage de la devise de la roupie indienne dans des groupes à largeur variable

En Inde, les valeurs monétaires sont généralement formatées différemment de celles des autres pays. Par exemple, une valeur telle que 450 500 serait affichée sous la forme 4,50 500, avec des séparateurs tous les deux chiffres, à l'exception du dernier ensemble, qui est en milliers.

La classe DecimalFormat standard de Java, cependant, ne prend pas en charge les variables- groupes de largeur pour le formatage des nombres. Les solutions utilisant des paramètres régionaux ou des modèles spécifiques ne résolvent pas complètement ce problème.

Solution utilisant ICU4J

Pour réaliser ce formatage en Java, la bibliothèque International Components for Unicode (ICU4J) fournit une classe NumberFormat qui prend en charge les groupes à largeur variable.

<code class="java">Format format = com.ibm.icu.text.NumberFormat.getCurrencyInstance(new Locale("en", "in"));
System.out.println(format.format(new BigDecimal("100000000")));</code>

Ce code produit le résultat souhaité :

Rs 10,00,00,000.00

Remarque pour le développement Android

La version Android de DecimalFormat utilise ICU sous le capot et prend en charge la fonctionnalité décrite ci-dessus.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn