Diferencia entre revisiones de «Cómo mostrar un BigDecimal según la localización»

De Dos Ideas.
Saltar a: navegación, buscar
(Ver también)
(Ver también)
 
Línea 23: Línea 23:
 
==Ver también==
 
==Ver también==
 
* [http://java.sun.com/j2se/1.5.0/docs/api/java/math/BigDecimal.html Javadoc del BigDecimal]
 
* [http://java.sun.com/j2se/1.5.0/docs/api/java/math/BigDecimal.html Javadoc del BigDecimal]
* [http://java.sun.com/j2se/1.5.0/docs/api/java/util/Locale.html#Locale%28java.lang.String,%20java.lang.String%29 Javadoc de Locale]
+
* [http://java.sun.com/j2se/1.5.0/docs/api/java/util/Locale.html Javadoc de Locale]
 
* [http://java.sun.com/j2se/1.5.0/docs/api/java/text/NumberFormat.html Javadoc de NumberFormat]
 
* [http://java.sun.com/j2se/1.5.0/docs/api/java/text/NumberFormat.html Javadoc de NumberFormat]
  
 
[[Category:Java]]
 
[[Category:Java]]

Revisión actual del 21:04 22 ene 2010

Si se quiere mostrar un objeto BigDecimal usando el método toString() de su clase, siempre se verá con el formato numérico norteamericano, es decir con ',' para separador de miles y con '.' para separador de decimales.

Para mostrarlo según una localización determinada se puede utilizar la clase NumberFormat que formatea un objeto con valor numérico según el Locale que se indique:

BigDecimal myNumber = new BigDecimal("-1234.56"); NumberFormat format;

//Utilizando el locale por default de la JVM... format = NumberFormat.getInstance(); System.out.println(format.format(myNumber));

//Utilizando un locale específico... Locale localeArgentina = new Locale("es", "AR"); format = NumberFormat.getInstance(localeArgentina); System.out.println(format.format(myNumber));

El primer parámetro para instanciar un objeto Locale es el código de idioma (iso 639-1) de dos caracteres y debe escribirse en minúsculas. El segundo parámetro corresponde a los códigos de país (iso 3166) de dos letras y debe escribirse en mayúsculas.

Ver también