Pregunta: | 56612 - CONVERTIR STRING A ENTERO |
Autor: | Blanca Zamarripa |
Tengo una tienda donde me ingresan la cantidad del articulo solicitado, cuando me ingresan igual o mayor a 1000 se lanza una excepción de tipo NumberFormatException, string 1,024 Me supongo que es porque el string tiene esa coma de mas y no puede convertirlo a numero? ya probe las siguientes sentencias pero no funcionan 1era opcion Float QtyVal_ = Float.parseFloat(shopCartItems[i].getQuantity()); int itemQty_ = Float.valueOf(QtyVal_).intValue(); 2da opcion Double QtyVal_ = Double.parseDouble(shopCartItems[i].getQuantity()); int itemQty_ = Double.valueOf(QtyVal_).intValue(); 3ra opcion int itemQty_ = Double.valueOf(shopCartItems[i].getQuantity()).intValue(); esta ultima funcion trabaja identicamente a int itemQty_ = Integer.parseInt(shopCartItems[i].getQuantity()); porque al final sigue mandando los mismos mensajes ExceptionNumber . . . . String 1,024 las opciones 1 y 2 no mandan nad y dejan en blanco la parte del shopping cart Alguna otra idea para solucionar el error cuando la cadena es 1,024????? |
Respuesta: | Marcelo Agustini |
En arrays tipo objetos es necesario una conversion tipo Cast , por ejemplo: (Integer) objeto.get(); Pero lo mas probable es que el separador de miles esté ocasionando el error. La VM no puede convertir un entero con un simbolo que no conoce, en este caso la coma. Debes formatear la cantidad a ingresar si deseas mostrar separadores en numeros mayores a 1000. Prueba con numeros solamente y no tendrás el error. Cualquier duda, mandar al correo. |