Konwertuj Double na liczbę całkowitą w Javie

Biorąc pod uwagę podwójną liczbę rzeczywistą. Napisz program w języku Java konwertujący podaną liczbę podwójną na liczbę całkowitą (int) w języku Java.

Przykłady:

 Input: double = 3452.234 Output: 3452 Input: double = 98.23 Output: 98 

Podwójnie: Typ danych double to 64-bitowy typ zmiennoprzecinkowy IEEE 754 o podwójnej precyzji. Jego zakres wartości jest nieograniczony. Typ danych double jest powszechnie używany w przypadku wartości dziesiętnych, podobnie jak typ zmiennoprzecinkowy. Podwójnego typu danych nigdy nie należy używać w przypadku precyzyjnych wartości, takich jak waluta. Jego wartość domyślna to 0,0 .

 Example:  double d1 = 10.5 

Liczba całkowita: Typ danych Integer lub int to 32-bitowa liczba całkowita ze znakiem uzupełnienia do dwóch. Jego zakres wartości mieści się w przedziale od – 2 147 483 648 (-2^31) do 2 147 483 647 (2^31 -1) (włącznie). Jego minimalna wartość to – 2 147 483 648, a maksymalna to 2 147 483 647. Jego wartość domyślna to 0 . Typ danych int jest zwykle używany jako domyślny typ danych dla wartości całkowitych, chyba że nie ma problemu z pamięcią.

 Example: int a = 10 

Podchodzi do

Istnieje wiele podejść do konwersji typu danych Double na typ danych Integer (int). Poniżej wymieniono kilka z nich.

  • Za pomocą Typ Casting
  • Za pomocą Double.intValue() metoda
  • Za pomocą Okrągła matematyka() metoda

Podejście 1: Używanie Typ Casting

Technika ta jest bardzo prosta i przyjazna dla użytkownika.

Składnia:

double data = 3452.345 int value = (int)data; 

Przykład:

Jawa




// Java program to convert Double to> // int using Typecasting> public> class> GFG {> > // main method> > public> static> void> main(String args[])> > {> > // Get the double value> > double> data => 3452.345> ;> > System.out.println(> 'Double - '> + data);> > // convert into int> > int> value = (> int> )data;> > // print the int value> > System.out.println(> 'Integer - '> + value);> > }> }>

Wyjście

Double - 3452.345 Integer - 3452 

Złożoność czasowa: O(1) jako operacje stałe.
Przestrzeń pomocnicza: O(1), ponieważ nie jest wymagana dodatkowa przestrzeń.

Podejście 2: Użycie metody Double.intValue().

Technika ta jest podobna do metody rzutowania na typ. Główna różnica między metodą rzutowania a tą metodą polega na tym, że metoda rzutowania jest metodą jawną, a ta metoda jest klasą Wrapper. Double obcina wszystkie cyfry po przecinku.

Składnia:

double data = 3452.345 Double newData = new Double(data); int value = newData.intValue(); 

Przykład:

Jawa




// Java program to convert Double to int> // using Double.intValue()> public> class> GFG {> > // main method> > public> static> void> main(String args[])> > {> > // Get the double value> > Double data => 3452.345> ;> > System.out.println(> 'Double - '> + data);> > // Create a wrapper around> > // the double value> > Double newData => new> Double(data);> > // convert into int> > int> value = newData.intValue();> > // print the int value> > System.out.println(> 'Double - '> + value);> > }> }>

Wyjście:

Double - 3452.345 Double - 3452 

Złożoność czasowa: O(1) jako operacje stałe.
Przestrzeń pomocnicza: O(1), ponieważ nie jest wymagana dodatkowa przestrzeń.

Podejście 3: Używanie Okrągła matematyka() metoda

Okrągła matematyka() akceptuje wartość podwójną i konwertuje ją na najbliższą długą wartość, dodając 0,5 do wartości i odcinając jej miejsca dziesiętne. Długą wartość można następnie przekonwertować na liczbę typu int za pomocą rzutowania typów.

Składnia:

long Math.Round(Double doubleValue); 

Przykład:

Jawa




// Java program to convert Double to int> // using Math.round()> public> class> GFG {> > // main method> > public> static> void> main(String args[])> > {> > // Get the double value> > double> data1 => 3452.345> ;> > System.out.println(> 'Double : '> + data1);> > // convert into int> > int> value1 = (> int> )Math.round(data1);> > // print the int value> > System.out.println(> 'Integer : '> + value1);> > > double> data2 => 3452.765> ;> > System.out.println(> ' Double : '> + data2);> > // convert into int> > int> value2 = (> int> )Math.round(data2);> > // print the int value> > System.out.println(> 'Integer : '> + value2);> > }> }>

Wyjście

Double : 3452.345 Integer : 3452 Double : 3452.765 Integer : 3453 

Złożoność czasowa: O(1) jako operacje stałe.
Przestrzeń pomocnicza: O(1), ponieważ nie jest wymagana dodatkowa przestrzeń.

Notatka: Tutaj widać, że metoda Math.round() konwertuje liczbę podwójną na liczbę całkowitą poprzez zaokrąglenie liczby do najbliższej liczby całkowitej.

Na przykład - 10.6 zostanie przekonwertowany na 11 przy użyciu Math.round() metoda i 1zostanie przekonwertowany na 10 przy użyciu rzutowania typów lub metody Double.intValue(). .