Tabla de contenido:
Video: C# Principiantes | #18 - Excepciones. Try / Catch. Manejo de errores. 2024
De vez en cuando, necesita convertir datos numéricos de un tipo a otro en Java. Es posible que deba convertir un valor doble en un número entero, o viceversa. Algunas conversiones se pueden hacer de forma automática; otros se hacen usando una técnica llamada fundición.
Conversiones automáticas en Java
Java puede convertir automáticamente algunos tipos primitivos a otros y hacerlo siempre que sea necesario. La imagen a continuación muestra qué conversiones permite Java. Tenga en cuenta que las conversiones que se muestran con las flechas de puntos a continuación pueden hacer que se pierda parte de la precisión del valor. Por ejemplo, un
int
se puede convertir a un
float
, pero los valores grandes
int
no se convertirán exactamente porque los valores
int
pueden tener más dígitos de los que se pueden representar con el tipo
float
.
Cada vez que realiza una operación matemática en dos valores que no son del mismo tipo, Java convierte automáticamente uno de ellos al tipo del otro. Estas son las reglas que sigue Java al hacer esta conversión:
- Si uno de los valores es un
doble
, el otro valor se convierte en undoble
. - Si ninguno es un
doble
pero uno es unflotante
, el otro se convierte en unflotante
. - Si ninguno es un
doble
ni unflotante
pero uno es unlargo
, el otro se convierte en unlargo
. - Si todo lo demás falla, ambos valores se convierten a
int
.
Tipo de conversión
La conversión es similar a la conversión, pero no se realiza automáticamente. Si quiere convertir un
doble
a un
int
, por ejemplo, debe usar el casting.
Cuando utilizas el casting, corres el riesgo de perder información. Un
doble
puede contener números más grandes que un
int
, por ejemplo. Además, un
int
no puede contener la parte fraccional de un
doble
. Como resultado, si echas un
doble
a un
int
, corres el riesgo de perder datos o precisión, por lo que
3. 1415
se convierte en
3
, por ejemplo.
Para convertir un valor primitivo de un tipo a otro, utiliza un operador de conversión, que es simplemente el nombre de un tipo primitivo entre paréntesis colocado antes del valor que desea emitir. Por ejemplo:
double pi = 3. 1314;
int iPi;
iPi = (int) pi;
Tenga en cuenta que la parte fraccional de un doble simplemente se descarta cuando se lanza a un número entero; no es redondeado Por ejemplo:
precio doble = 9. 99;
int iPrice = (int) precio;
Aquí
iPrice
tiene asignado el valor
9
.Si desea redondear el doble valor al convertirlo, utilice el método
ronda
de la clase
Matemáticas
.