Dato un numero reale doppio. Scrivere un programma Java per convertire il numero doppio indicato in un numero intero (int) in Java.
Esempi:
Input: double = 3452.234 Output: 3452 Input: double = 98.23 Output: 98>
Doppio: Il tipo di dati double è un tipo a virgola mobile IEEE 754 a 64 bit a doppia precisione. La sua gamma di valori è infinita. Il tipo di dati double viene comunemente utilizzato per i valori decimali, proprio come float. Inoltre, il tipo di dati double non deve mai essere utilizzato per valori precisi, come la valuta. Suo il valore predefinito è 0,0 .
Example: double d1 = 10.5>
Numero intero: Il tipo di dati Integer o int è un numero intero in complemento a due con segno a 32 bit. Il suo intervallo di valori è compreso tra – 2.147.483.648 (-2^31) e 2.147.483.647 (2^31 -1) (incluso). Il suo valore minimo è – 2.147.483.648 e il valore massimo è 2.147.483.647. Suo il valore predefinito è 0 . Il tipo di dati int viene generalmente utilizzato come tipo di dati predefinito per valori integrali a meno che non vi siano problemi relativi alla memoria.
Example: int a = 10>
Si avvicina
Esistono numerosi approcci per eseguire la conversione del tipo di dati Double nel tipo di dati Integer (int). Alcuni di essi sono elencati di seguito.
- Utilizzando TipoCasting
- Utilizzando Double.intValue() metodo
- Utilizzando Matematica.round() metodo
Approccio 1: utilizzo TipoCasting
Questa tecnica è molto semplice e intuitiva.
Sintassi:
double data = 3452.345 int value = (int)data;>
Esempio:
Giava
3d nell'autocad
// 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);> >}> }> |
>
>Produzione
Double - 3452.345 Integer - 3452>
Complessità temporale: O(1) poiché vengono utilizzate operazioni costanti.
Spazio ausiliario: O(1) perché non è richiesto spazio aggiuntivo.
Approccio 2: utilizzo del metodo Double.intValue()
Questa tecnica è simile al metodo di typecasting. La differenza principale tra il metodo di typecasting e questo metodo è che il metodo di typecasting è un metodo esplicito e questo metodo è una classe Wrapper Double tronca tutte le cifre dopo il punto decimale.
Sintassi:
double data = 3452.345 Double newData = new Double(data); int value = newData.intValue();>
Esempio:
Giava
ricerca binaria in 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);> >}> }> |
>
matematica Java sqrt
>
Produzione:
Double - 3452.345 Double - 3452>
Complessità temporale: O(1) poiché vengono utilizzate operazioni costanti.
Spazio ausiliario: O(1) perché non è richiesto spazio aggiuntivo.
Approccio 3: Utilizzo Matematica.round() metodo
Matematica.round() accetta un valore double e lo converte nel valore long più vicino aggiungendo 0,5 al valore e tagliando i suoi punti decimali. Il valore lungo può quindi essere convertito in un int utilizzando il typecasting.
Sintassi:
long Math.Round(Double doubleValue);>
Esempio:
Giava
// 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);> >}> }> |
>
>Produzione
Double : 3452.345 Integer : 3452 Double : 3452.765 Integer : 3453>
Complessità temporale: O(1) poiché vengono utilizzate operazioni costanti.
Spazio ausiliario: O(1) perché non è richiesto spazio aggiuntivo.
Nota: Qui puoi vedere che il metodo Math.round() converte il double in un numero intero arrotondando il numero all'intero più vicino.
r nella programmazione in cPer esempio - 10.6 verrà convertito in 11 utilizzando Math.round() metodo e 1 verrà convertito in 10 utilizzando il typecasting o il metodo Double.intValue() .