Formato de moneda en Android utilizando separador decimal incorrecto

Conseguí un informe del insecto de un usuario sueco que decía que nuestra moneda sueca utilizaba el separador decimal incorrecto.

NumberFormat enUS = NumberFormat.getCurrencyInstance(Locale.US); NumberFormat enGB = NumberFormat.getCurrencyInstance(Locale.UK); NumberFormat svSE = NumberFormat.getCurrencyInstance(new Locale("sv", "SE")); double cost = 1020d; String fmt = "en_US: %s en_GB %s sv_SE %s"; String text = String.format(fmt, enUS.format(cost), enGB.format(cost), svSE.format(cost)); Log.e("Format", text); > Format﹕ en_US: $1,020.00 en_GB £1,020.00 sv_SE 1 020:00 kr 

Dicen que el formato debe ser "1 020,00 kr". Cuando examino el objeto de formato, parece que tiene decimalSeparator de "," en la tabla de símbolos, pero un "monetarySeparator" de ":".

¿Alguien sabe si: es realmente correcto, si se trata de un error en Android / java, o cualquier tipo de solución?

Es como dice su usuario: En el separador de miles de sueco es el espacio en blanco y el separador decimal es la coma "," y el símbolo de moneda "kr" (Krona). Así que el colon ":" está definitivamente mal.

Usted puede comprobarlo aquí también: http://www.localeplanet.com/java/sv-SE/

¿Qué versión de Java está utilizando? Funciona bien en mi escritorio 1.6.0_13

– actualización –

Parece que en Android hay un error, pero se puede evitar el error usando el DecimalFormatSymbols como este:

  DecimalFormat svSE = new DecimalFormat("#,###.00"); DecimalFormatSymbols symbols = new DecimalFormatSymbols(new Locale("sv", "SE")); symbols.setDecimalSeparator(','); symbols.setGroupingSeparator(' '); svSE.setDecimalFormatSymbols(symbols); 

Esto imprime los separadores correctos en Android también.

  • Símbolo de moneda regional
  • Lengua ucraniana de Android
  • Quiero mostrar el idioma Reginonal (Gurumukhi) en mi aplicación para Android
  • Localización y travesaños
  • Cómo formatear un valor de flotador con el formato de moneda del dispositivo?
  • Android Serbio latino y Montenegro valora la carpeta de strings.xml
  • ¿Permitiendo al usuario seleccionar el idioma / la configuración de la aplicación?
  • ¿Cómo obtener el idioma (configuración regional) que muestra actualmente la aplicación para Android?
  • Cambiar idioma mediante programación en Android
  • Cambio de locale: ¿Forzar la actividad a recargar recursos?
  • Android cambia y establece la configuración regional predeterminada dentro de la aplicación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.