IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

[C#]Pourquoi division donne résultat int au lieu de double ?


Sujet :

C#

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2003
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 15
    Points : 11
    Points
    11
    Par défaut [C#]Pourquoi division donne résultat int au lieu de double ?
    Hello,

    Sous C#, je m'étonne du résultat que produit l'instruction suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    double resultat;
     
    resultat = 13/5;
    Response.Write(resultat.ToString());
    >>> Cela affichera 2 à l'écran.
    Pourquoi 2 et non 2,6? ma variable resultat est pourtant de type double.
    Si je modifie la ligne comme suit:
    Là j'obtiens bien 2,6 à l'écran.

    Pourquoi dans le premier cas C# ne prend que la partie entière du résultat?

    D'avance merci,
    pizza

  2. #2
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    Si tu divises un entier par un entier, le résultat sera un entier. Si tu divises un double par un entier, tu auras un double en sortie. Le résultat ne dépend pas du type de la variable à laquelle tu affectes le résultat mais du type des opérandes. C'est aussi simple que ca

    Au passage, il suffit qu'un seul des opérandes soit de type double pour avoir ton résultat en double :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    double resultat1 = 13d / 5;
    double resultat2 = 13 / 5.0;
    Ces deux opérations donneront un résultat de 2,6

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 25/03/2008, 03h00
  2. [SQL] Diviser les résultats d'une rêquete
    Par Snipy dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 03/01/2008, 00h16
  3. [Tableaux] in_array donne résultats inattendus
    Par renaud26 dans le forum Langage
    Réponses: 1
    Dernier message: 05/12/2007, 10h39
  4. Réponses: 7
    Dernier message: 22/09/2006, 01h28
  5. [TSQL] Retour de procédure int au lieu de decimal
    Par franculo_caoulene dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 06/10/2005, 18h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo