Bonjour,
je voudrais créer un constructeur de fraction à partir d'un double.
Voici le code en question :

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
18
19
20
ZFraction::ZFraction(double decimal)
{
    int compteur(0);
 
 
    while(floor(decimal)!=decimal)
    {
 
        decimal*=10.0;
        compteur++;
    }
 
 
 
    m_numerateur=decimal;
    m_denominateur=pow(10.0,compteur);
 
 
    simplifier();
}
Quand je teste avec un double valant 0.401, la valeur de floor(decimal) vaut 400 au lieu de 401 quand j'arrive au troisième tour de boucle, ce qui est surprenant.
Merci pour vos réponses.