Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2016
    Messaggi
    6

    mi arrotonda un double! perchè?

    Premetto che ho iniziato a programmare java da 1 settimana perciò non pretendete chissa cosa, uso Notepad e voglio continuare ad usarlo, sto seguendo un manuale bello ampio. Mi hanno chiesto di fare un esercizio sulla divisione e vorrei capire perchè quando avvio il programma al prompt dei comandi arrodonta il risultato. Come fare in modo che il risultato sia preciso e non arrondotato? questo è il programma:

    public static void main(String args[])
    {
    int a=3;
    int b=5;
    double r1=a/b;
    double r2=b/a;
    System.out.println(r1);
    System.out.println(r2);
    }

    a video:
    0.0
    1.0

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Perché la divisione è "intera". In Java un "intero" (byte, short ecc..) diviso un "intero" dà sempre un intero, mai un valore floating-point (come invece succede in altri linguaggi).

    Dichiara uno dei due come double o fai un cast a double di uno dei due nella espressione della divisione e
    ... la divisione sarà in floating-point.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2016
    Messaggi
    6
    grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.