Título: Error al leer double de fichero [HELP] Publicado por: JonaLamper en 21 Enero 2019, 19:56 pm Buenas tardes!
A ver... tengo un código muy fácil que no sé por qué demonios no funciona :xD Estoy tratando de leer un double desde fichero así: Código
Y en el fichero tengo el siguiente número escrito: 48.46372902270499. Si asigno ese número directamente a la variable element, entonces sí lo procesa, o sea que debe haber algún tipo de fallo en la lectura, pero no sé cuál :-\ El Scanner in está simplemente declarado así: Código
Somebody help me :( P.D: la excepción lanzada es InputMismatchException, pero la he buscado y simplemente dice que no coincide el "token" leído con el esperado. Título: Re: Error al leer double de fichero [HELP] Publicado por: rub'n en 21 Enero 2019, 20:19 pm Buenas tardes! A ver... tengo un código muy fácil que no sé por qué demonios no funciona :xD Estoy tratando de leer un double desde fichero así: Código
Y en el fichero tengo el siguiente número escrito: 48.46372902270499. Si asigno ese número directamente a la variable element, entonces sí lo procesa, o sea que debe haber algún tipo de fallo en la lectura, pero no sé cuál :-\ El Scanner in está simplemente declarado así: Código
Somebody help me :( P.D: la excepción lanzada es InputMismatchException, pero la he buscado y simplemente dice que no coincide el "token" leído con el esperado. wtf pon mas source dog, pare ver que pasa. Título: Re: Error al leer double de fichero [HELP] Publicado por: Eleкtro en 21 Enero 2019, 21:50 pm Aparenta ser un simple problema de caracter delimitador...
Saludos Título: Re: Error al leer double de fichero [HELP] Publicado por: JonaLamper en 21 Enero 2019, 23:43 pm Código
Estoy usando el delimitador "\n" y he puesto los datos en forma de columna en el .txt. Aún así, continúa dando el mismo error :( Título: Re: Error al leer double de fichero [HELP] Publicado por: JonaLamper en 21 Enero 2019, 23:49 pm Mi fichero tiene estos datos:
48.46372902270499,72.28360046911516 65.52885493079854,22.676786207855894 Incluso usando el código del ejemplo no funciona: Código
Incluso en ejemplo de páginas "fiables" no funciona. Por ejemplo: http://www.java2s.com/Code/Java/Development-Class/UseScannertoreadvarioustypesofdatafromafile.htm He copiado el código de esa página en un proyecto y cuando va a leer el número 12.2, se supone que debe entrar en el if del src.hasNextDouble, pero no, lo lee como si fuese un String. Menuda broma... ACTUALIZO: haciendo esto funciona, pero no es muy elegante... Código
Título: Re: Error al leer double de fichero [HELP] Publicado por: WHK en 22 Enero 2019, 00:43 am Te recomiendo que proceces linea por linea y parsees la data con expresión regular, es aprueba de errores, si la expresión falla es porque la linea tiene un formato incorrecto.
Código: /(.+?),([\d\.]+)/ Título: Re: Error al leer double de fichero [HELP] Publicado por: EdePC en 22 Enero 2019, 05:41 am Incluso en ejemplo de páginas "fiables" no funciona. Por ejemplo: http://www.java2s.com/Code/Java/Development-Class/UseScannertoreadvarioustypesofdatafromafile.htm He copiado el código de esa página en un proyecto y cuando va a leer el número 12.2, se supone que debe entrar en el if del src.hasNextDouble, pero no, lo lee como si fuese un String. Menuda broma... - Sucede que la Localización da formato a los números decimales y moneda, por ejemplo en EEUU la coma ( , ) no tiene nada que ver con números decimales (Double), pero el punto ( . ) si. Doy por sentado de que tu Sistema Operativo tiene configurada una localización NO EEUU, por lo que tu Sistema interpreta la coma ( , ) como separador decimal, y no tiene ni idea de lo que hace un punto ( . ) entre dos números enteros :xD. -- Si utilizas decimales con punto ( . ) debes especificar una Localización US (United States), Revisa la línea 5 y 22 que he agregado: Código
|