Diferencia entre revisiones de «Cómo mostrar un BigDecimal según la localización»
(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…') |
(→Ver también) |
||
(No se muestran 4 ediciones intermedias del mismo usuario) | |||
Línea 13: | Línea 13: | ||
//Utilizando un locale específico... | //Utilizando un locale específico... | ||
− | Locale localeArgentina = new Locale(" | + | 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 (iso 639-1)] 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 (iso 3166)] de dos letras y debe escribirse en mayúsculas. | |
− | |||
==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 Javadoc de Locale] | ||
+ | * [http://java.sun.com/j2se/1.5.0/docs/api/java/text/NumberFormat.html Javadoc de NumberFormat] | ||
+ | |||
+ | [[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.