Java - Error al mezclar Math.pow con int

 
Vista:

Error al mezclar Math.pow con int

Publicado por Jaime (2 intervenciones) el 14/11/2019 10:05:26
Al intentar hacer esto r=z*Math.pow(w,cont) me da un error llamado possible lossy conversion from double to int.
Sabeis que se podría hacer para solucionarlo? Soy un poco novato así que no tengo mucha idea.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 212
Bronce
Ha aumentado su posición en 4 puestos en Java (en relación al último mes)
Gráfica de Java

Error al mezclar Math.pow con int

Publicado por Juan (61 intervenciones) el 14/11/2019 10:49:30
Math.pow devuelve un valor de tipo double y seguramente tienes declarado la variable r como int, te está diciendo que añadas una conversión de double a int de esta manera: r=(int) (z*Math.pow(w,cont)); o si sabes que el resultado puede llegar a ser double, pon la variable r como double y no como int. porque te podría arrojar una excepción si haces la conversion y no se puede convertir.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Kabuto
Val: 1.754
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Error al mezclar Math.pow con int

Publicado por Kabuto (436 intervenciones) el 14/11/2019 21:03:36
Como bien dice Jaime, Java te está avisando que Math.pow() te devuelve un valor de tipo double (con decimales) y seguramente lo estás intentado guardar en una variable de tipo int (entero, sin decimales).

Hacer eso, implica perder la parte decimal del resultado que te está dando. Si estás de acuerdo en perderlos, es decir, si la parte decimal no la necesitas, has de confirmar tú el casting especificando en el código que quieres convertirlo a int usando el código que te ha puesto Jaime.

En realidad no es un error, es un aviso que Java hace al programador, para asegurarse de que éste es consciente de que va a perder parte del resultado que se está calculando.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error al mezclar Math.pow con int

Publicado por Jaime (2 intervenciones) el 15/11/2019 00:20:13
Si ya sabía que un error como tal no era, pero no me dejaba compilarlo sin cambiarlo, gracias por las respuestas, ahora ya se como hacerlo :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar