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 :

affichage d'un nombre Double [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Décembre 2011
    Messages : 44
    Par défaut affichage d'un nombre Double
    Bonjour.
    Regardez mon problème d'affichage d'un nombre Double .
    je besoins d'affichage 8 chiffre aprés le virgule.
    voir qlq exemples.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
            static void Main(string[] args)
            {
                double d = 1/38 * (Math.Log(14 / 3));
                Console.WriteLine(d.ToString("0.########"));
                //0.02631578  (calculatrise)
                //c# return 0      !
     
                double d1 = Math.Log(2/3);
                Console.WriteLine(d1);
                //-0.40546510 (calculatrise)
                //c# return infini   !
                double d2 = Math.Log(14);
                Console.WriteLine(d2);
                //2.63905732 (calculatrise et c#)
                // ici ça marche bien
                Console.ReadKey();
            }
    alors comment faire pour obtenir un resultat exact

  2. #2
    Membre Expert Avatar de meziantou
    Homme Profil pro
    autre
    Inscrit en
    Avril 2010
    Messages
    1 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : autre
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2010
    Messages : 1 223
    Par défaut
    Le résultat d'une division d'entier est un entier
    14/3=4
    2/3=0
    D'où les résultats que tu obtiens

    Pour obtenir le résultat voulu il faut diviser 2 nombres flottant
    14.0/3.0
    2.0/3.0

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Décembre 2011
    Messages : 44
    Par défaut
    merci meziantou.
    mais je besoin comment fait ,
    c'est par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    double d = 1/38 * (Math.Log(14 / 3));
    1 ; 38 ; 14 ; 3 c'est les contenues des variables integer ;
    j'utilise le cast (double) ;mais le problème reste.

  4. #4
    Membre Expert Avatar de meziantou
    Homme Profil pro
    autre
    Inscrit en
    Avril 2010
    Messages
    1 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : autre
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2010
    Messages : 1 223
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    double d = 1d / 38d * (Math.Log(14d / 3d));

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Décembre 2011
    Messages : 44
    Par défaut
    merci meziantou.
    pour ça ,comment fait pour obtenir des résultat exact.(d n'est pas autorisé normalement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     static void Main(string[] args)
            {
                int[] t= new int[]{1,38,14,3};
                double d = t[1]/t[2]* (Math.Log(t[3]/ t[4]));
                Console.WriteLine(d);
                //0.02631578  (calculatrise)
                //c# return 0      !
     
                double d1 = Math.Log(2/3);
                Console.WriteLine(d1);
                //-0.40546510 (calculatrise)
                //c# return infini   !
     
                Console.ReadKey();
            }

  6. #6
    Membre Expert Avatar de meziantou
    Homme Profil pro
    autre
    Inscrit en
    Avril 2010
    Messages
    1 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : autre
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2010
    Messages : 1 223
    Par défaut
    il suffit de caster tes valeurs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     double d = (double)t[1]/(double)t[2]* (Math.Log((double)t[3]/ (double)t[4]))
    Tu peux aussi utiliser un tableau de double
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    double[] t= new double[]{1.0, 38d , (double)14, 3d};

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

Discussions similaires

  1. Affichage d'un grand nombre (double)
    Par gofono_bass dans le forum C++
    Réponses: 4
    Dernier message: 01/06/2008, 13h51
  2. [VB.NET] Forcer l'affichage de deux décimales pour un nombre double.
    Par annedeblois dans le forum Windows Forms
    Réponses: 9
    Dernier message: 10/11/2006, 14h34
  3. Forcer typage et affichage d'un nombre
    Par Metallic-84s dans le forum Langage
    Réponses: 4
    Dernier message: 14/03/2006, 11h21
  4. Affichage d'un nombre binaire
    Par Jero13 dans le forum C
    Réponses: 5
    Dernier message: 05/12/2005, 22h17
  5. Réponses: 8
    Dernier message: 21/11/2005, 17h18

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