CodeGym /Java Blog /Random-IT /Come convertire int in double in Java
John Squirrels
Livello 41
San Francisco

Come convertire int in double in Java

Pubblicato nel gruppo Random-IT

Brevemente sui tipi int e double in Java

int è un tipo Java primitivo per i numeri interi (come -25, 0, 1828182845). Questo tipo utilizza 32 bit per memorizzare un valore variabile. L'intervallo di numeri int va da -231 a 231 - 1 o, che è lo stesso, da -2147483648 a 2147483647. Il tipo doppio in Java rappresenta i numeri in virgola mobile, alloca 64 bit in memoria e l'intervallo del tipo è -1.7 da *10308 a 1,7*10308. Se rappresenti l'intervallo di int nella stessa forma, sarà -2*109 à +2*109. Penso che sia ovvio che qualsiasi numero di tipo int si adatterà alla memoria allocata per un numero di tipo double primitivo. Inoltre, qualsiasi numero intero può essere rappresentato come un numero frazionario con una parte frazionaria zero. Dal punto di vista matematico, non c'è dubbio che: 5 = 5.0 or -57.0 = -57.

Conversione da int a double

Dal punto di vista Java, anche i tipi double e int sono compatibili. Poiché la conversione da int a double riguarda il casting da più grande a più piccolo, questo tipo di conversione chiama maiuscole o minuscole di tipo implicito. È possibile convertire automaticamente int in double in Java, assegnando il valore int a una variabile double. Facciamo un esempio di codice di typecasting:

public class intToDouble {
   public static void main(String[] args) {
       int myInt1 = 10;
       int myInt2 = 2147483647;
       double myDouble1, myDouble2;
       System.out.println("my integers are: " + myInt1 + ", " + myInt2);
       myDouble1 = myInt1;
       myDouble2 = myInt2;
       System.out.println("after typecasting/widening to double: " + myDouble1 + ", " + myDouble2);
   }
}
Ecco l'output:
i miei numeri interi sono: 10, 2147483647 dopo il typecasting/ampliamento a double: 10.0, 2.147483647E9
Note: E9 qui significa 109, si chiama notazione scientifica. Nota anche che i numeri doppi sono solitamente scritti con un punto che separa la parte frazionaria. se dichiari una variabile di double e ci metti un valore, non è necessario farlo, ma nell'output il numero double avrà sempre una parte frazionaria, anche se è zero.

Conversione da int a double utilizzando un'operazione numerica neutra

Inoltre, tutte le operazioni numeriche su variabili di diverso tipo in Java portano all'ampliamento del tipo. Cioè, il risultato dell'operazione sarà di tipo più ampio. Pertanto, per convertire da int a double, è possibile utilizzare l'operazione "neutrale". Ad esempio, moltiplica un int per 1.0 (un numero doppio) o aggiungi 0.0 a un int. Ecco un esempio di tale typecasting:

public class intToDouble {
   public static void main(String[] args) {
       double a = 1;  //you can also write 1.0 here. If you print it out it will be 1.0
       int b = 5, x = 7;
       System.out.println(x + 0.0);
       System.out.println(a*b);
   }
}
L'uscita è:
7,0 5,0
A proposito, puoi convertire in double non solo int, ma tutti i tipi primitivi numerici. Ecco l'ordine di possibile conversione dal più piccolo al più grande:
Byte -> Short -> Char -> Int -> Long -> Float -> Double
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION