La Web del Programador: Comunidad de Programadores
 
    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.