java - tipos - Necesito convertir una variable int para duplicar
tipos de datos y declaraciones en java (4)
Convertir a doble se puede hacer casting un int a un doble:
Puede convertir un int en un doble utilizando este mecanismo de la siguiente manera:
int i = 3; // i is 3
double d = (double) i; // d = 3.0
Alternativa (utilizando el reconocimiento de tipo automático de Java):
double d = 1.0 * i; // d = 3.0
Implementar esto en su código sería algo así como:
double firstSolution = ((double)(b1 * a22 - b2 * a12) / (double)(a11 * a22 - a12 * a21));
double secondSolution = ((double)(b2 * a11 - b1 * a21) / (double)(a11 * a22 - a12 * a21));
Alternativamente, puede usar un parámetro duro de tipo double (1.0) para que java funcione para usted, así:
double firstSolution = ((1.0 * (b1 * a22 - b2 * a12)) / (1.0 * (a11 * a22 - a12 * a21)));
double secondSolution = ((1.0 * (b2 * a11 - b1 * a21)) / (1.0 * (a11 * a22 - a12 * a21)));
Buena suerte.
Posible duplicado:
División de Java Integer: ¿Cómo se produce un doble?
Mi amigo está tratando de hacer algún tipo de cálculo como una tarea para la clase, y está teniendo problemas ... Espero que puedas ayudarlo.
El problema es que recibe una entrada del usuario como int (tiene que ser, es parte de la tarea). Él está tratando de convertirlo a doble en el siguiente código, pero esto no funciona. Los resultados son int de todos modos.
double firstSolution = ((b1 * a22 - b2 * a12) / (a11 * a22 - a12 * a21));
double secondSolution = ((b2 * a11 - b1 * a21) / (a11 * a22 - a12 * a21));
Si necesitas más explicaciones, se lo pediré. ¡Gracias por adelantado!
Creo que deberías lanzar variable o usar la clase Integer
por el método call out doubleValue()
.
Debe double
uno (o ambos) de los argumentos al operador de división para double
:
double firstSolution = (b1 * a22 - b2 * a12) / (double)(a11 * a22 - a12 * a21);
Como realiza el mismo cálculo dos veces, le recomiendo refactorizar su código:
double determinant = a11 * a22 - a12 * a21;
double firstSolution = (b1 * a22 - b2 * a12) / determinant;
double secondSolution = (b2 * a11 - b1 * a21) / determinant;
Esto funciona de la misma manera, pero ahora hay un molde implícito para duplicar. Esta conversión de int
a double
es un ejemplo de una conversión primitiva ensanchada .
O use casting como otros ya lo han dicho, o multiplique una de las variables int por 1.0
:
double firstSolution = ((1.0* b1 * a22 - b2 * a12) / (a11 * a22 - a12 * a21));