Dat un număr real dublu. Scrieți un program Java pentru a converti numărul dublu dat într-un număr întreg (int) în Java.
Exemple:
Input: double = 3452.234 Output: 3452 Input: double = 98.23 Output: 98>
Dubla: Tipul de date dublu este un punct mobil IEEE 754 cu precizie dublă pe 64 de biți. Gama sa de valori este nesfârșită. Tipul de date dublu este folosit în mod obișnuit pentru valori zecimale, la fel ca float. De asemenea, tipul de date dublu nu ar trebui să fie utilizat niciodată pentru valori precise, cum ar fi moneda. Este valoarea implicită este 0,0 .
ce este hibernare în java
Example: double d1 = 10.5>
Întreg: Tipul de date Integer sau int este un întreg de complement a doi cu semn pe 32 de biți. Intervalul său de valori este cuprins între – 2.147.483.648 (-2^31) și 2.147.483.647 (2^31 -1) (inclusiv). Valoarea sa minimă este – 2.147.483.648, iar valoarea maximă este 2.147.483.647. Este valoarea implicită este 0 . Tipul de date int este utilizat în general ca tip de date implicit pentru valorile integrale, cu excepția cazului în care nu există nicio problemă cu memoria.
Example: int a = 10>
Abordari
Există numeroase abordări pentru a face conversia tipului de date dublu în tipul de date Integer (int). Câteva dintre ele sunt enumerate mai jos.
- Folosind Tip Casting
- Folosind Double.intValue() metodă
- Folosind Math.round() metodă
Abordarea 1: Utilizarea Tip Casting
Această tehnică este foarte simplă și ușor de utilizat.
Sintaxă:
double data = 3452.345 int value = (int)data;>
Exemplu:
Java
// 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);> >}> }> |
>
>Ieșire
Double - 3452.345 Integer - 3452>
Complexitatea timpului: O(1) ca operații constante sunt utilizate.
Spațiu auxiliar: O(1) deoarece nu este necesar spațiu suplimentar.
Abordarea 2: Utilizarea metodei Double.intValue().
Această tehnică este similară cu metoda de tipar. Principala diferență dintre metoda de tipar și această metodă este că metoda de tipar este o metodă explicită, iar această metodă este o clasă Wrapper. Double trunchiază toate cifrele după punctul zecimal.
Actrița Rubina Dilaik
Sintaxă:
double data = 3452.345 Double newData = new Double(data); int value = newData.intValue();>
Exemplu:
Java
// 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);> >}> }> |
>
>
Ieșire:
exemple de programe java
Double - 3452.345 Double - 3452>
Complexitatea timpului: O(1) ca operații constante sunt utilizate.
Spațiu auxiliar: O(1) deoarece nu este necesar spațiu suplimentar.
Abordarea 3: Utilizarea Math.round() metodă
Math.round() acceptă o valoare dublă și o convertește în cea mai apropiată valoare lungă adăugând 0,5 la valoare și tăindu-i punctele zecimale. Valoarea lungă poate fi apoi convertită într-un int utilizând typecasting.
Sintaxă:
long Math.Round(Double doubleValue);>
Exemplu:
Java
// 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);> >}> }> |
>
>Ieșire
Double : 3452.345 Integer : 3452 Double : 3452.765 Integer : 3453>
Complexitatea timpului: O(1) ca operații constante sunt utilizate.
Spațiu auxiliar: O(1) deoarece nu este necesar spațiu suplimentar.
Notă: Aici puteți vedea că metoda Math.round() convertește dublul într-un număr întreg rotunjind numărul la cel mai apropiat număr întreg.
De exemplu - 10.6 va fi convertit în 11 folosind Math.round() metoda și voi fi convertit în 10 folosind tipul sau metoda Double.intValue(). .