Variable double
Résolu
lamouchetsetse
Messages postés
112
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Boujour à tous, je m'initie au langage c et je but sur un petit probleme.
Voila, j'ai une variable de type int et une de type double et j'aimerais que ma viariable double soit égal à la int comme ceci:
comme vous le voyez, je fait suivre ma variable "varInt" d'un .0 afin que "varDouble" soit = 10.0 et non 10.
Cependant le compilateur semble ne pas aimer cette syntaxe et me renvoi un erreur.
Comment puis-je donc faire pour avoir un résultat correct en construisant une variable double à partir d'une variable int?
Merci à tous.
Voila, j'ai une variable de type int et une de type double et j'aimerais que ma viariable double soit égal à la int comme ceci:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int varInt = 10;
double varDouble = varInt.0;
printf("varDouble = %f", varDouble);
return 0;
}
comme vous le voyez, je fait suivre ma variable "varInt" d'un .0 afin que "varDouble" soit = 10.0 et non 10.
Cependant le compilateur semble ne pas aimer cette syntaxe et me renvoi un erreur.
Comment puis-je donc faire pour avoir un résultat correct en construisant une variable double à partir d'une variable int?
Merci à tous.
3 réponses
-
Bonsoir,
non ça ne marche pas comme ça.
Quand tu écris 10.0, le compilateur interprète qu'il s'agit d'un nombre.
Quand tu écris varInt, le compilateur interprète qu'il s'agit du nom d'une variable, et "il trouve" cette variable.
Quand tu écris varInt.0, là le compilateur ne comprends pas.
Pour ta solution, pas sûr de moi mon C est plus que rouillé, mais je pense que c'estdouble varDouble = (double)varInt;
C'est ce qu'on appelle un cast -> une conversion implicite d'un type vers l'autre.
-
Il ne faut pas confondre un nombre et sa représentation.
Si j'écrisvarDouble = 10; varDouble = 10.000000; varDouble = varInt; varDouble = - 2 * - 5;
J'ai fait 4 fois la même chose etvarDouble
contient le nombre 10. Et c'est au moment de l'affichage que l'on choisira les décimales à afficher.printf( "varDouble = %f", varDouble ); // afficher avec 6 décimales au plus printf( "varDouble = %.1f", varDouble ); // afficher avec exactement une décimale
-
Merci à vous 2. Whismeril, ton c n'est pas si rouillé que ça.
Sinon on choisi ce qu'on affiche à l'affichage serte, mais l'affichage dépend des variables que l'on déclare, si on déclare un int alors on ne peu afficher qu'un int. Dans mon cas, j'avais un calcul à faire via une somme contenu dans une variable int, mais le résultat était décimal, il me fallait donc une variable double pour faire mon calcul.