Table des matières:
Vidéo: Comprendre le système binaire 2024
De temps en temps, vous avez besoin de convertir des données numériques d'un type en un autre en Java. Vous devrez peut-être convertir une valeur double en nombre entier, ou vice versa. Certaines conversions peuvent être effectuées automatiquement. d'autres sont faits en utilisant une technique appelée casting.
Conversions automatiques en Java
Java peut convertir automatiquement certains types primitifs en d'autres, et le faire chaque fois que nécessaire. L'image ci-dessous montre quelles conversions Java permet. Notez que les conversions affichées avec les flèches pointillées ci-dessous peuvent entraîner une perte de précision de la valeur. Un
int
peut être converti en un
float
, par exemple, mais les grandes valeurs
int
ne seront pas converties exactement parce que les valeurs
int
peuvent avoir plus de chiffres que ce qui peut être représenté par le type
float
.
Chaque fois que vous effectuez une opération mathématique sur deux valeurs qui ne sont pas du même type, Java convertit automatiquement l'une d'entre elles en type de l'autre. Voici les règles suivies par Java lors de cette conversion:
- Si l'une des valeurs est
double
, l'autre valeur est convertie endouble
. - Si aucun
double
n'est unflotteur
, l'autre est unflotteur
. - Si ni
double
nine sont des flotteurs
mais que l'un estlong
, l'autre est converti enlong
. - Si tout le reste échoue, les deux valeurs sont converties en
int
.
La conversion de type
La conversion est similaire à la conversion mais n'est pas effectuée automatiquement. Si vous voulez convertir un
double
en
int
, par exemple, vous devez utiliser la conversion.
Lorsque vous utilisez le casting, vous courez le risque de perdre des informations. Un
double
peut contenir des nombres plus grands qu'un
int
, par exemple. De plus, un
int
ne peut pas contenir la partie fractionnaire d'un
double
. Par conséquent, si vous transtypez
double
en
int
, vous courez le risque de perdre des données ou de les corriger, donc
3. 1415
devient
3
, par exemple.
Pour transtyper une valeur primitive d'un type à un autre, vous utilisez un opérateur de cast, qui est simplement le nom d'un type primitif entre parenthèses placé avant la valeur que vous voulez jeter. Par exemple:
double pi = 3. 1314;
int iPi;
iPi = (int) pi;
Notez que la partie fractionnaire d'un double est simplement rejetée lorsqu'elle est convertie en entier; ce n'est pas arrondi. Par exemple:
double prix = 9,99;
int iPrice = (int) prix;
Ici
iPrice
reçoit la valeur
9
.Si vous souhaitez arrondir la double valeur lorsque vous le convertissez, utilisez la méthode
round
de la classe
Math
.