Questo articolo spiega tre metodi diversi per eseguire una divisione fra numeri decimali in Java. Se si ha la necessità di dividere due numeri interi (privi di decimali) e ottenere un risultato decimale senza arrotondamento, basta eseguire il "cast" di uno degli operandi a "double". Per eseguire la divisione di due numeri decimali (oppure di un intero per un decimale o viceversa) basta semplicemente eseguire la divisione fra tipi di dati "double" per essere sicuri di ottenere un risultato decimale. Quando si lavora con numeri molto grandi o con un tasso di precisione molto elevato la soluzione consiste nell'utilizzare la classe di Java BigDecimal invece di usare un numero in virgola mobile.

Metodo 1
Metodo 1 di 3:
Ottenere un numero decimale partendo da due interi

  1. 1
    Java, esattamente come altri linguaggi di programmazione, per impostazione predefinita utilizza i numeri interi per eseguire le divisioni aritmetiche. Se la divisione dei due interi genera un resto, quest'ultimo verrà scartato e verrà presa in considerazione solo la parte intera della divisione. Se dividendo due interi hai la necessità di ottenere un risultato decimale, quindi più preciso, puoi eseguire il "cast" di uno dei due operandi della divisione con il tipo di dati double prima di eseguire l'operazione.[1] Nel seguente esempio viene mostrato come eseguire il "cast" della variabile a a double in modo da ottenere come quoziente della divisione un numero decimale:
    int a = 55;
    int b = 25;
    double r = (double) a / b
    //Il risultato della divisione sarà 2,2.
    
    Pubblicità

Metodo 2
Metodo 2 di 3:
Dividere due numeri decimali (di tipo double)

  1. 1
    Quando si divide un numero decimale per un altro numero decimale occorre usare delle variabili di tipo "double".[2] Anche se uno dei due operandi è un intero (cioè un numero privo di parte decimale) il risultato sarà comunque un numero decimale, se l'altro operatore è di tipo "double". Di seguito trovi un esempio di codice che calcola la divisione fra due numeri decimali:
    double x = 10.5; 
    double y = 2.5; 
    x / y 
    //Il risultato della divisione è 4,2.
    

Metodo 3
Metodo 3 di 3:
Ottenere un risultato più preciso usando la classe BigDecimal

  1. 1
    Se lavori nel campo della finanza o se stai eseguendo calcoli matematici che necessitano di un livello di precisione molto elevato per la parte decimale, puoi usare la classe di Java BigDecimal. I numeri in virgola mobile (rappresentati con il tipo di dati double) hanno una precisione inferiore, dato che le variabili di tipo double memorizzano i valori al loro interno sotto forma di numeri frazionari binari con esponente, invece di usare la rappresentazione esatta (cioè un numero dove si usa un numero di byte predefinito per memorizzare la parte decimale, i cosiddetti "numeri a virgola fissa").[3] Per essere sicuro di lavorare con numeri a virgola fissa, usa la classe BigDecimal. Nell'esempio seguente viene usata la classe BigDecimal per calcolare il quoziente fra due numeri e ottenere un risultato estremamente preciso:
    BigDecimal bdec = new BigDecimal("706");
    BigDecimal bdecRes = bdec.divide(new BigDecimal("20"));
    System.out.println("Risultato della divisione: " + bdecRes);
    //La divisione viene eseguita tramite la classe MathContext
    MathContext mc = new MathContext(2, RoundingMode.FLOOR);	
    BigDecimal bdecMath = bdec.divide(new BigDecimal("20"), mc);
    System.out.println("Divide with MathContext: " + bdecMath);
    //Il primo risultato della divisione sarà 45,25 mentre il secondo 45.
    
    • Quando si usa la classe BigDecimal occorre specificare il parametro RoundingMode, cioè il tipo di arrotondamento da usare per produrre il risultato del calcolo, che può essere UP (arrotonda allontanandosi dallo zero, considerando il valore assoluto del numero), DOWN (arrotonda avvicinandosi allo zero, considerando il valore assoluto del numero), CEILING (arrotondamento verso l'alto), FLOOR (arrotonda verso il basso), HALF_UP (è il metodo di arrotondamento classico, se la cifra troncata è >= 5 si arrotonda verso l'alto), HALF_DOWN (è il metodo di arrotondamento classico, se la cifra troncata è < 5 si arrotonda verso il basso), HALF_EVEN (è una modalità di arrotondamento mista, verso l'alto e verso il basso, con lo scopo di contenere l'errore quando si eseguono operazioni di arrotondamento in sequenza) o UNNECESSARY (il risultato dovrebbe essere quello esatto, in caso contrario verrà sollevata un'eccezione di tipo "ArithmeticException").[4]
    Pubblicità

wikiHow Correlati

Aprire un File XMLAprire un File XML
HackerareHackerare
Impostare la Larghezza e l'Altezza di un Immagine in HTMLImpostare la Larghezza e l'Altezza di un Immagine in HTML
Diventare un HackerDiventare un Hacker
Aggiungere un Link a un'ImmagineAggiungere un Link a un'Immagine
Inserire gli Spazi in HTML
Centrare un'Immagine Usando il Codice HTMLCentrare un'Immagine Usando il Codice HTML
Creare un Menu a Tendina in HTML e CSSCreare un Menu a Tendina in HTML e CSS
Creare un VirusCreare un Virus
Aprire i File .DLL
Eseguire un File HTML in Visual Studio CodeEseguire un File HTML in Visual Studio Code
Compilare un Programma C Utilizzando il Compilatore GNU GCCCompilare un Programma C Utilizzando il Compilatore GNU GCC
Convertire un Numero dal Sistema Binario a Quello DecimaleConvertire un Numero dal Sistema Binario a Quello Decimale
Creare una Semplice Pagina Web con HTMLCreare una Semplice Pagina Web con HTML
Pubblicità

Informazioni su questo wikiHow

Nicole Levine, MFA
Co-redatto da:
Scrittrice ed Editor Specializzata in Tecnologia
Questo articolo è stato co-redatto da Nicole Levine, MFA. Nicole Levine è una Scrittrice ed Editor Specializzata in Tecnologia che collabora con wikiHow. Ha più di 20 anni di esperienza nella creazione di documentazione tecnica e nella guida di team di supporto presso le principali società di web hosting e software. Nicole ha anche una Laurea Magistrale in Scrittura Creativa conseguita presso la Portland State University e insegna composizione, scrittura narrativa e creazione di zine presso varie istituzioni.
Categorie: Programmazione
Questa pagina è stata letta 34 volte.

Hai trovato utile questo articolo?

Pubblicità