Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème de cast

Sujet résolu
    6 mai 2008 à 19:24:41

    Bonjour, j'aimerais comprendre une petite chose du tuto de javascript :

    Voilà le code qui donne 1 quand on l'execute car il effectue le calcul avant le cast (enfin c'est ce que j'ai cru comprendre ... ^^ )


    int nbre1 = 3, nbre2 = 2;
     double resultat = (double)(nbre1 / nbre2);
     System.out.println("Le résultat est = " + resultat);
    

    Et ensuite voilà mon code que j'ai tapé en oubliant les parenthèses autour de "nb1/nb2"
    public class out {
    
    	/**
    	 * @param args
    	 */
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		
    		
    		int nb1=3, nb2=2;
    		double resultat =(double) nb1/nb2;
    		System.out.println("le resultat est : " + resultat);
    		
    	}
    }
    


    et bien ce code me renvoie 1.5 alors je comprend pas o_O , c'est juste une histoire de parenthèses ? Parceque dans le tuto il dit qu'il faut faire un cast sur chaque nombre.

    merci de m'éclairer ;)
    • Partager sur Facebook
    • Partager sur Twitter
      6 mai 2008 à 20:06:27

      Non non c'est juste comme ça...


      Java te cast le résultat de l'opération :)
      • Partager sur Facebook
      • Partager sur Twitter
        7 mai 2008 à 11:41:21

        Quand on fait une opération avec deux nombres de types différents, Java caste automatiquement le tout dans le type le plus grand.
        • Partager sur Facebook
        • Partager sur Twitter

        Problème de cast

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown