¿Cómo puedo usar NumberFormat
para formatear un valor de double
para un Locale
dado (la configuración regional predeterminada es suficiente) y para un número dado de lugares decimales?¿Cómo formatear el valor doble para una configuración regional determinada y la cantidad de lugares decimales?
Por ejemplo, tengo estos valores:
double d1 = 123456.78;
double d2 = 567890;
y quiero imprimirlos de la siguiente manera, por ejemplo, con Estados Unidos Idioma y 2 decimales:
123,456.78
567,890.00
I don' realmente me importa el modo de redondeo en este caso, porque estos valores dobles se obtienen de BigDecimal
con la escala determinada, por lo que el número de decimales siempre es menor o igual que el número de decimales que deseo imprimir.
Editar:
Para hacer las cosas un poco más claro, la cosa es que quiero mostrar dinero de una manera dependiente de la localidad, pero con un número fijo de decimales. El ejemplo anterior mostró cómo se deben formatear los valores si la configuración regional del sistema es en_US
. Ahora vamos a decir, la región del sistema es cs_CZ
(Checa), por lo que los mismos números debe tener el formato de esta manera:
123 456,78
567 890,00
Ahora, ¿cómo puedo configurar un NumberFormat para mostrar siempre 2 cifras decimales, pero para mostrar separador de miles y punto decimal basado en la configuración regional actual?
Muchas gracias – Sayka
@ Paweł Dyda Cómo debo convertir una cadena 123,456.78 en la configuración regional de Estados Unidos a un valor doble 123.456,78? – KJEjava48