CodeGym /Java blog /Véletlen /Hogyan konvertálhat int duplává Java-ban
John Squirrels
Szint
San Francisco

Hogyan konvertálhat int duplává Java-ban

Megjelent a csoportban

Röviden az int és a double típusokról Java nyelven

Az int egy primitív Java típus egész számokhoz (például -25, 0, 1828182845). Ez a típus 32 bitet használ egy változó érték tárolására. Az int számok tartománya -231-től 231-ig - 1 vagy, ami megegyezik, -2147483648-tól 2147483647-ig. A Java kettős típusa lebegőpontos számokat jelöl, 64 bitet foglal le a memóriában, és a típus tartománya -1,7 *10308–1,7*10308. Ha az int tartományát ugyanabban a formában ábrázolja, akkor -2*109 до +2*109 lesz. Szerintem nyilvánvaló, hogy tetszőleges számú int típus belefér a dupla primitív típusok memóriájába. Ezenkívül bármely egész szám ábrázolható törtszámként nulla törtrésszel. Matematikai szempontból kétségtelen, hogy: 5 = 5,0 or -57,0 = -57.

Konvertálás duplává

Java szempontból a double és int típusok is kompatibilisek. Mivel az int duplává konvertálása a nagyobbak kisebbre öntését jelenti, ez a fajta konverzió implicit típusú kis- és nagybetűs írást vagy szélesítést hív. Az int-t automatikusan double-re konvertálhatja Java-ban, ha az int értéket egy double változóhoz rendeli. Nézzünk egy kódpéldát a typecastingra:

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);
   }
}
Íme a kimenet:
az én egész számom: 10, 2147483647 a gépelés/duplázásra történő szélesítés után: 10.0, 2.147483647E9
Megjegyzések: Az E9 itt 109-et jelent, ezt tudományos jelölésnek hívják. Vegye figyelembe azt is, hogy a dupla számokat általában ponttal írják, amely elválasztja a tört részt. ha deklarálunk egy double változót és értéket adunk bele, akkor ezt nem kell megtenni, de a kimenetben a dupla számnak mindig lesz tört része, még akkor is, ha nulla.

Konvertálás int duplává semleges numerikus művelettel

Ezenkívül a Java különböző típusú változóival végzett összes numerikus művelet típusbővítéshez vezet. Vagyis a művelet eredménye szélesebb típusú lesz. Ezért az int-ből duplává konvertálásához használhatja a „semleges” műveletet. Például szorozzon meg egy int 1,0-val (dupla szám), vagy adjon hozzá 0,0-t egy inthez. Íme egy példa az ilyen típusú írásmódra:

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);
   }
}
A kimenet a következő:
7,0 5,0
Egyébként nem csak int, hanem minden numerikus primitív típust is át lehet konvertálni duplává. Íme a lehetséges átalakítás sorrendje a legkisebbről a legnagyobbra:
Byte -> Short -> Char -> Int -> Long -> Float -> Double
Hozzászólások
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION