BigDecimal da NumberFormatException en Android 4.0.3 con localización

Estoy haciendo la localización en mi aplicación con persa (locale- "fa") y Pashto (locale- "ps") lenguajes. Cuando estoy tratando de convertir el doble valor en BigDecimal usando Decimal Foramt entonces da NumberFormatException en 4.0.3 con Lenguaje persa.

A continuación se muestra mi código para obtener dos decimales:

public static String roundTwoDecimals(double d) { System.out.println("===================Amount in double "+d); DecimalFormat twoDForm = new DecimalFormat("#############.##"); String format=twoDForm.format(d); System.out.println("===================Amount after formatting "+format); return new BigDecimal(twoDForm.format(d)).toPlainString(); } 

LogCat:

 03-26 15:19:29.714: I/System.out(1475): ===================Amount in double 166308.37 03-26 15:19:29.723: I/System.out(1475): ===================Amount after formatting ۱۶۶۳۰۸٫۳۷ 

La cantidad real es 166308.37 y cuando cambio el idioma al persa ("fa") y lo formateo, da la cantidad como ۱۶۶۳۰۸٫۳۷ en 4.0.3. Por lo tanto, esta cadena no se puede convertir en BigDecimal y proporciona NumberFormatException .

Y el extraño problema es que excepto 4.0.3, funciona perfectamente bien.

Prueba este código ..

 public static String roundTwoDecimals(double d) { NumberFormat nf=NumberFormat.getCurrencyInstance(Locale.ENGLISH); DecimalFormat df = (DecimalFormat)nf; df.applyPattern("#############.##"); String output = df.format(d); return new BigDecimal(output).toPlainString(); } 
  • ¿Cómo recibir notificaciones cuando cambia la configuración del sistema en Android?
  • ¿Hay alguna herramienta para convertir un archivo de cadena localizada de Iphone en un archivo de recursos de cadena que se puede usar en Android?
  • Localización para ruso en Android
  • Localización de límites de Android
  • Android eliminar localizaciones
  • Soporte para iconos localizados en aplicaciones de Android
  • OnLocationChanged la devolución de llamada se hace en qué hilo? El hilo principal de la interfaz de usuario?
  • Problema al solicitar actualizaciones de la ubicación por red
  • Localización de la aplicación Google Play Store
  • Cómo cambiar el nombre de la aplicación en Launcher en android según el idioma seleccionado en Configuración de Teléfono?
  • Android: Diferencia entre LocationManager.addProximityAlert () & LocationClient.addGeofences ()
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.