Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/07/2012, 10:45
larkinhos
 
Fecha de Ingreso: diciembre-2010
Mensajes: 41
Antigüedad: 13 años, 5 meses
Puntos: 0
multiplicar float

Buenas,

llevo toda la tarde intentando solucionar este problema y no lo consigo. Tengo una columna en un txt que tengo que multiplicarla por 1000(primero paso de string a float, lo multiplico por 1000 y luego lo paso a string otra vez).

En la lista tengo guardada todas las lineas, y en str guardo los valores a multiplicar. Aqui el codigo:


Código Java:
Ver original
  1. float flo;
  2. String str;
  3. for(int i = 0; i < lista.size(); i++)
  4. {
  5. fichTxt aux = lista.get(i);                    
  6.  
  7. //A la derecha pongo lo que me sale en el debug
  8. str = aux.getcoordY(); // str = -16.30
  9. flo = Float.parseFloat(str);  // flo = -16.3
  10. float mil = 1000;  // mil = 1000
  11. float resAux = flo * mil;  // resAux  -16315.999 ???
  12. str = String.valueOf(flo); // str = -16299.999
  13. }

¿Que hago mal? El 98% de las veces lo hace bien(devuelve el dato multiplicado por 1000 bien), pero algunas en particular lo hace mal(Como el ejemplo que he puesto).

Por que si multiplico -16.3 x 1000 no m devuelve -16300.0??

Por ejemplo con 4.9, resAux si que me devuelve 4900.0...

Saludos y gracias adelantadas