CodeGym /Java blogg /Slumpmässig /Hur man konverterar int till dubbel i Java
John Squirrels
Nivå
San Francisco

Hur man konverterar int till dubbel i Java

Publicerad i gruppen

Kort om int och dubbeltyper i Java

int är en primitiv Java-typ för heltal (som -25, 0, 1828182845). Denna typ använder 32 bitar för att lagra ett variabelvärde. Intervallet för int-tal är från -231 till 231 - 1 eller, vilket är detsamma, från -2147483648 till 2147483647. Dubbel typ i Java representerar flyttal, allokerar 64 bitar i minnet och intervallet för typen är -1,7 *10308 till 1,7*10308. Om du representerar intervallet för int i samma form blir det -2*109 till +2*109. Jag tror att det är uppenbart att valfritt antal typ int kommer att passa in i minnet som tilldelats för ett antal dubbel primitiva typer. Dessutom kan vilket heltal som helst representeras som ett bråktal med en bråkdel på noll. Ur matematisk synvinkel råder det ingen tvekan om att: 5 = 5,0 or -57,0 = -57.

Konverterar int till dubbel

Ur ett Java-perspektiv är dubbel- och int-typer också kompatibla. Eftersom att konvertera int till dubbel handlar om att gjuta större till mindre, kallar denna typ av omvandling implicit typ casing eller breddning. Du kan konvertera int till double i Java automatiskt genom att tilldela int-värdet till en dubbelvariabel. Låt oss ta ett kodexempel på typcasting:

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);
   }
}
Här är utgången:
mina heltal är: 10, 2147483647 efter typcasting/breddning till dubbla: 10,0, 2,147483647E9
Noteringar: E9 betyder här 109, det kallas vetenskaplig notation. Observera också att dubbla tal vanligtvis skrivs med en punkt som skiljer bråkdelen åt. om du deklarerar en variabel med dubbla och sätter ett värde i den, är det inte nödvändigt att göra detta, men i utgången kommer det dubbla talet alltid att ha en bråkdel, även om det är noll.

Konvertera int till dubbel med neutral numerisk operation

Dessutom leder alla numeriska operationer på variabler av olika typer i Java till typbreddning. Det vill säga resultatet av operationen kommer att vara av en bredare typ. Därför, för att konvertera från int till dubbel, kan du använda den "neutrala" operationen. Multiplicera till exempel en int med 1,0 (ett dubbeltal) eller lägg till 0,0 till en int. Här är ett exempel på sådan typcasting:

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);
   }
}
Utgången är:
7,0 5,0
Förresten, du kan konvertera till dubbel inte bara int, utan alla numeriska primitiva typer. Här är ordningen för möjlig konvertering från minsta till största:
Byte -> Kort -> Röd -> Int -> Lång -> Flytande -> Dubbel
Kommentarer
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION