Affichage des devises au format de numérotation indien
En Inde, les valeurs monétaires sont souvent représentées dans un format de numérotation unique où des séparateurs sont placés tous les deux chiffres, à l'exception du dernier ensemble qui est séparé par des milliers. Pour obtenir ce format en Java, la classe standard DecimalFormat ne prend pas en charge les groupes à largeur variable.
Malheureusement, le Java SE DecimalFormat traditionnel n'est pas à la hauteur à cet égard :
"Si vous fournissez un motif avec plusieurs caractères de regroupement, l'intervalle entre le dernier et la fin de l'entier est celui qui est utilisé Donc "#,##,###,####" == "######. ,####" == "##,####,####"."
Pour surmonter cette limitation, envisagez d'utiliser ICU4J (International Components for Unicode for Java). Sa classe NumberFormat offre la fonctionnalité souhaitée :
<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 affichera la valeur dans le format de numérotation indien souhaité :
Rs 10,00,00,000.00
Notez que le com.ibm.icu.text. La classe NumberFormat étend la classe java.text.Format, qui fournit la méthode format(Object).
Alternativement, si vous travaillez avec Android, vous pouvez exploiter la version Android de java.text.DecimalFormat, comme il prend en charge les groupes de largeur variable grâce à sa mise en œuvre en utilisant ICU en interne.
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!