CodeGym /Blog Java /Random-PL /Jak przekonwertować int na double w Javie
Autor
Pavlo Plynko
Java Developer at CodeGym

Jak przekonwertować int na double w Javie

Opublikowano w grupie Random-PL

Krótko o typach int i double w Javie

int to prymitywny typ Java dla liczb całkowitych (takich jak -25, 0, 1828182845). Ten typ używa 32 bitów do przechowywania wartości zmiennej. Zakres liczb int wynosi od -231 do 231 - 1 lub, co jest tym samym, od -2147483648 do 2147483647. Typ double w Javie reprezentuje liczby zmiennoprzecinkowe, przydziela 64 bity w pamięci, a zakres typu to -1,7 *10308 do 1,7*10308. Jeśli reprezentujesz zakres int w tej samej formie, będzie to -2*109 до +2*109. Myślę, że jest oczywiste, że dowolna liczba typu int zmieści się w pamięci przydzielonej dla liczby podwójnych typów pierwotnych. Ponadto dowolną liczbę całkowitą można przedstawić jako liczbę ułamkową z zerową częścią ułamkową. Z matematycznego punktu widzenia nie ma wątpliwości, że: 5 = 5,0 lub -57,0 = -57.

Konwersja int na double

Z perspektywy języka Java typy double i int są również zgodne. Ponieważ konwersja int na double polega na rzutowaniu z większego na mniejszy, ten rodzaj konwersji wywołuje domyślną wielkość liter lub poszerzenie. Możesz automatycznie przekonwertować int na double w Javie, przypisując wartość int do zmiennej double. Miejmy przykładowy kod rzutowania typów:

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);
   }
}
Oto dane wyjściowe:
moje liczby całkowite to: 10, 2147483647 po typowaniu/rozszerzaniu do podwójnego: 10,0, 2,147483647E9
Uwagi: E9 oznacza tutaj 109, nazywa się to notacją naukową. Należy również zauważyć, że liczby podwójne są zwykle zapisywane z kropką oddzielającą część ułamkową. jeśli zadeklarujesz zmienną typu double i umieścisz w niej wartość, nie trzeba tego robić, ale na wyjściu liczba podwójna zawsze będzie miała część ułamkową, nawet jeśli będzie równa zero.

Konwersja typu int na double przy użyciu neutralnej operacji numerycznej

Co więcej, wszystkie operacje numeryczne na zmiennych różnych typów w Javie prowadzą do poszerzenia typu. Oznacza to, że wynik operacji będzie szerszy. Dlatego, aby przekonwertować z int na double, możesz użyć operacji „neutralnej”. Na przykład pomnóż int przez 1,0 (liczba podwójna) lub dodaj 0,0 do int. Oto przykład takiego typowania:

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);
   }
}
Dane wyjściowe to:
7,0 5,0
Nawiasem mówiąc, możesz przekonwertować na podwójne nie tylko int, ale wszystkie pierwotne typy liczbowe. Oto kolejność możliwych konwersji od najmniejszej do największej:
Byte -> Short -> Char -> Int -> Long -> Float -> Double
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION