Foros del Web » Programación para mayores de 30 ;) » Java »

formato decimal

Estas en el tema de formato decimal en el foro de Java en Foros del Web. Hola! mUy buenas, tengo en mis manos una aplicación ya desarrollada (en concreto se llama Halogen, de data warehouse...) y la cuestión es que los ...
  #1 (permalink)  
Antiguo 17/07/2008, 10:04
 
Fecha de Ingreso: mayo-2005
Mensajes: 294
Antigüedad: 19 años
Puntos: 0
Pregunta formato decimal

Hola! mUy buenas, tengo en mis manos una aplicación ya desarrollada (en concreto se llama Halogen, de data warehouse...) y la cuestión es que los decimales los muestra usando el punto como decimal, osea que 0 coma 5 saca 0.5
Yo tengo uqe hacer que el resultado lo muestre como 0,5 es decir que use la coma como separador decimal.
La cuestión es que la información la coge de una base de datos y la muestra (y el codigo es inmensamente grande como para buscar la línea donde aplica el formato, si es que la hay...) he consultado a la base de datos y la base de datos usa como separador decimal la coma, luego es el programa el uqe lo cmabia.
Mi pregunta es alguien sabe si eso se puede cambiar desde la máquina virtual de java????
Un saludo y gracias
  #2 (permalink)  
Antiguo 17/07/2008, 12:46
Avatar de djagu_26  
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 518
Antigüedad: 16 años, 3 meses
Puntos: 6
Respuesta: formato decimal

hola puedes usar este codigo para darle formato a esos numeros

DecimalFormatSymbols simbolos = new DecimalFormatSymbols();
simbolos.setDecimalSeparator(',');
DecimalFormat formato = new DecimalFormat("####.##", simbolos);

saludos
__________________
"La magia no existe, la programacion si"

A/P Agustin Sivoplas
[email protected]
  #3 (permalink)  
Antiguo 18/07/2008, 00:35
 
Fecha de Ingreso: mayo-2005
Mensajes: 294
Antigüedad: 19 años
Puntos: 0
Respuesta: formato decimal

Hola, muchas gracias.
la cuestión es que el proyecto con el que trabajo es inmennnnso y lo voy a tener claro para localizar los puntos donde tengo que darle el formato. Me entiendes???
  #4 (permalink)  
Antiguo 18/07/2008, 03:19
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: formato decimal

Por defecto coje los simbolos decimales que le indique el Locale con el que se arranca la JVM, el cual por defecto coje el idioma del S.O., así que en un servidor con S.O. en Español te podría pasar eso.

La solución podría ser especificar el Locale explicitamente al arrancar, pero hay que tener en cuenta que eso tendría efectos globales para todas las aplicaciones y operaciones efectuadas en la JVM que dependan del Locale, así que podría ser peor el remedio que la enfermedad. Por ejemplo, el formateo de las fechas por defecto cambiaría.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #5 (permalink)  
Antiguo 23/07/2008, 00:54
 
Fecha de Ingreso: mayo-2005
Mensajes: 294
Antigüedad: 19 años
Puntos: 0
Respuesta: formato decimal

HOla!
Muchas gracias por tu respuesta, por ahí van los tiros... ¿Cómo puedo cambiar el Locale de la jvm por defecto al arrancar? Ahora mismo no me importa los efectos sobre el resto de las aplicaciones. Lo que más me importa es que las cosas funcionen en esta.
Un saludo y gracias.
  #6 (permalink)  
Antiguo 23/07/2008, 08:26
Avatar de djagu_26  
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 518
Antigüedad: 16 años, 3 meses
Puntos: 6
Respuesta: formato decimal

cuando arrancas la aplicacion pones

Locale.setDefault(Locale.US);

de acuerdo al locale que tu quieras

saludos
__________________
"La magia no existe, la programacion si"

A/P Agustin Sivoplas
[email protected]
  #7 (permalink)  
Antiguo 23/07/2008, 10:47
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: formato decimal

Esa es una forma, aunque a mi me gusta mas configurarlo al arrancar la JVM y así el Locale por defecto no depende de ejecutar código:

Y para eso se pueden pasar al arrancar dos propiedades de sistema -Duser.language y -Duser.region.

Ejemplos:
http://exampledepot.com/egs/java.util/SetDefLocale.html

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:12.