"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo formatear la moneda en el sistema de numeración indio usando ICU4J?

¿Cómo formatear la moneda en el sistema de numeración indio usando ICU4J?

Publicado el 2024-11-12
Navegar:737

How to Format Currency in Indian Numbering System Using ICU4J?

Formato de moneda en formato de numeración indio

Formato de moneda en formato de numeración indio puede ser un desafío, ya que difiere de la notación occidental estándar. Normalmente, un valor como 450500 se escribe como 4,50,500 en India. Este artículo explora los matices del formato de la moneda india y proporciona una solución adecuada utilizando ICU4J.

El sistema de numeración indio utiliza comas para separar dígitos en grupos de dos, excepto el último grupo, que está separado por miles. Para ejemplo:

  • 1
  • 10
  • 100
  • 1000
  • 10 000
  • 1,00,000
  • 10,00,000
  • 1,00,00,000
  • 10,00,00,000

Java La clase estándar DecimalFormat no admite grupos de ancho variable, lo que la hace inadecuada para esta tarea. Sin embargo, la clase NumberFormat de ICU4J supera esta limitación.

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

Este código genera:

Rs 10,00,00,000.00

Tenga en cuenta que la clase ICU4J NumberFormat extiende Format, no NumberFormat. En la versión de Android de DecimalFormat, esta función también es compatible, ya que se implementa mediante ICU.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3