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

De Dos Ideas.
Saltar a: navegación, buscar
(Página creada con '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 separad…')
 
Línea 13: Línea 13:
  
 
//Utilizando un locale específico...
 
//Utilizando un locale específico...
Locale localeArgentina = new Locale("español", "Argentina");
+
Locale localeArgentina = new Locale("es", "AR");
 
format = NumberFormat.getInstance(localeArgentina);
 
format = NumberFormat.getInstance(localeArgentina);
 
System.out.println(format.format(myNumber));
 
System.out.println(format.format(myNumber));
Línea 19: Línea 19:
 
</code>
 
</code>
  
 
+
El primer parámetro para instanciar un objeto Locale es el [http://www.loc.gov/standards/iso639-2/php/English_list.php código de idioma (iso639)] de dos caracteres y debe escribirse en minúsculas. El segundo parámetro corresponde a los [http://www.iso.org/iso/country_codes/iso_3166_code_lists/english_country_names_and_code_elements.htm códigos de país (iso3166)] de dos letras deben escribirse en mayúsculas.
 
 
  
 
==Ver también==
 
==Ver también==
 
* [[Cómo mostrar un BigDecimal según la localización]]
 
* [[Cómo mostrar un BigDecimal según la localizació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]

Revisión del 20:59 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 (iso639) de dos caracteres y debe escribirse en minúsculas. El segundo parámetro corresponde a los códigos de país (iso3166) de dos letras deben escribirse en mayúsculas.

Ver también