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

Malformed pattern "'€' #.##0,00"

Estas en el tema de Malformed pattern "'€' #.##0,00" en el foro de Java en Foros del Web. Intento compilar una aplicación con net beans y me lanza la siguiente excepción Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Malformed pattern "'€' #.##0,00" at java.text.DecimalFormat.applyPattern(DecimalFormat .java:2592) ...
  #1 (permalink)  
Antiguo 14/03/2009, 06:50
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Malformed pattern "'€' #.##0,00"

Intento compilar una aplicación con net beans y me lanza la siguiente excepción


Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Malformed pattern "'€' #.##0,00"
at java.text.DecimalFormat.applyPattern(DecimalFormat .java:2592)
at java.text.DecimalFormat.<init>(DecimalFormat.java: 417)

No se de donde saca ese pattern...

Alguna idea...

Quim
  #2 (permalink)  
Antiguo 14/03/2009, 11:40
 
Fecha de Ingreso: octubre-2005
Ubicación: Córdoba, Veracruz
Mensajes: 42
Antigüedad: 18 años, 6 meses
Puntos: 0
Respuesta: Malformed pattern "'€' #.##0,00"

¿Qué tienes en la línea 2592? ¿Y en la línea 417?
  #3 (permalink)  
Antiguo 15/03/2009, 07:03
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Malformed pattern "'€' #.##0,00"

Hola:

Esas líneas no creo que ayuden mucho, puesto que la clase DecimaFormat.java es de java. Habría que seguir mirando la traza hasta llegar a la primera clase propia del programa y no de java.

De todas formas, DecimalFormat no admite en el patrón todos los caracteres y en concreto el del €. Mira en la API y verás que admite cosas específicas de números, como #, 0, puntos decimales y poco más. Si quieres símbolos de moneda, o bien los pones aparte para no meterlos en DecimalFormat, o bien usa la clase InternationalFormatter (no estoy muy seguro de cómo funciona esta última o si vale para lo que quieres).

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #4 (permalink)  
Antiguo 16/03/2009, 02:52
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Malformed pattern "'€' #.##0,00"

Gracias por las respuestas...

Efectivamente esas dos clases son de java por tanto deben funcionar.

Siguiendo la traza se llega a una clase propia del programa, el problema es que es como si ese pattern estuviera guardado en algún "rincón" de la maquina....

Me explico, estaba testando un programa open source de punto de venta con una versión compilada (vamos a reservar de momento el nombre para no perjudicar a nadie).

El formulario de configuración no ofrecía el Euro como moneda, no estoy seguro si al dejar el default los listados mostraban el Euro, pero me permitió editar el formato de moneda que ofrecía y de "'$' #,##0.00" lo cambie tan ricamente por "'€' #.##0,00" el programa me dijo que "los cambios tendrán efecto la próxima vez que ejecute...." PERO NO HUBO PROXIMA VEZ.

Al volver a ejecutar directamente no hace nada... como se ejecuta con un .bat he llegado a forzar que me muestre un mensaje de error...dice que no encuentra la clase principal!!!

Bien, reinstalo y listos PUES NO SIGUE SIN FUNCIONAR, limpio el registro TAMPOCO.

Me voy a las fuentes para ver por donde puede venir y el dichoso pattern a parece de nuevo... y en ese punto estoy.

Esa info ha tenido que quedar guardada en alguna parte.

(todo esto lo he reproducido en dos maquinas una con W2000 y otra on XP)


Si a alguien se le ocurre algo...!!??!!

Quim

Última edición por quimfv; 16/03/2009 a las 03:14
  #5 (permalink)  
Antiguo 16/03/2009, 21:57
 
Fecha de Ingreso: octubre-2005
Ubicación: Córdoba, Veracruz
Mensajes: 42
Antigüedad: 18 años, 6 meses
Puntos: 0
Respuesta: Malformed pattern "'€' #.##0,00"

Busca archivos ocultos en la carpeta de la aplicación, tal vez ahí esté el pattern.
  #6 (permalink)  
Antiguo 17/03/2009, 02:16
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Malformed pattern "'€' #.##0,00"

Cita:
Iniciado por quimfv Ver Mensaje
(vamos a reservar de momento el nombre para no perjudicar a nadie)
No perjudicas a nadie diciéndolo. Es más si el programa es opensource, entonces estarán encantados de que se les indique que tienen un bug (si es que lo tienen).

Y, por otro lado, a la hora de ayudarte, es mucho más fácil si dices qué programa es. Alguien podría conocerlo o haberlo usado y seguramente te podrá ayudar mejor si sabe que es ese programa.
  #7 (permalink)  
Antiguo 17/03/2009, 02:45
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Malformed pattern "'€' #.##0,00"

Bien los archivos no estaban tan ocultos....

Eran archivos .properties guardados en el directorio del usuario.

Quizas tienes razon venkman pero era por la duda, , de si el bug lo tenia yo.

El programa en cuestión es OpenBravo Pos, para mi si que es un error que el formulario de configuración permita entrar algo que pone la aplicació en jaque.

Y otro que en las ayudas de instalación y/o desinstalación no se indique que se crearan/mantendran archivos de preferencias en el directorio del usuario. Quizas si en vez de instalar con el .exe para windows hubiese usado alguna de las instalaciones para linux habria quedado todo mas claro.

He localizado un foro de ayuda de esta aplicación en SourceForge y les he posteado mis dudas/sugerencias.

Por lo de más el programa perece muy interesante.

Gracias a todos por el interés.

Quim
  #8 (permalink)  
Antiguo 17/03/2009, 03:35
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Malformed pattern "'€' #.##0,00"

El problema no es el simbolo del €, es que has cambiado el orden de los '.' y las ',' y has acabado con un patron incorrecto.

Si que es cierto que deberia estar documentado donde guardan esas preferencias que le das al iniciar y no deberia cascar tan bruscamente solo por un error en un patron, cosa que entra dentro de lo normal si lo introducen una persona. Así que esperemos que lo mejoren con tus sugerencias.

S!

PD: En cuanto al error en si, en DecimalFormat siempre se ha de usar el '.' para los decimales y ',' para los millares y es a través de la clase DecimalFormatSymbols en que le decimos como queremos que se representen los simbolos. Pero en el patron se usan esos para que sea mas facil interpretar los formatos.
http://java.sun.com/docs/books/tutor...malFormat.html
__________________
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 01:37.