Besoin d'aide en C
bsaad
-
lamabat -
lamabat -
Bonjour,
Pouvez vous m'aider s'il vous plaît :
J'ai deux variables :
long var1;
var2[15];
Je veux copier atol(var1)/100 et atol(var1)%100 dans var1.
Par exemple :
var2="12345678900023"
Je veux avoir dans var1 "123456789000,23"
J'ai utilisé le sprintf comme suit :
sprintf(var1,"%d,%d",atol(var2)/100,atoi(var2)%100);
mais j'ai eu un problème à la compilation dans les types de variable.
Avez vous une idée pour résoudre ce problème?
Merci beaucoup
Pouvez vous m'aider s'il vous plaît :
J'ai deux variables :
long var1;
var2[15];
Je veux copier atol(var1)/100 et atol(var1)%100 dans var1.
Par exemple :
var2="12345678900023"
Je veux avoir dans var1 "123456789000,23"
J'ai utilisé le sprintf comme suit :
sprintf(var1,"%d,%d",atol(var2)/100,atoi(var2)%100);
mais j'ai eu un problème à la compilation dans les types de variable.
Avez vous une idée pour résoudre ce problème?
Merci beaucoup
1 réponse
Salut,
J'ai remarqué un problème dans la conversion :
un long est linité à +- 2 G
un short est limté à +- 32767
Je te vonseille par convertir dans un double et l'afficher dans sprintf avec un format %f.
exemple
--------
char var1[255];
char var2[255]="12345678900023";
double d=atof(var2);
d= d/100;
sprintf(var1,"%f",d); // voir les formats de sprintf pour l'affichage voulu.
En espèrant que cela marchera.
@+
J'ai remarqué un problème dans la conversion :
un long est linité à +- 2 G
un short est limté à +- 32767
Je te vonseille par convertir dans un double et l'afficher dans sprintf avec un format %f.
exemple
--------
char var1[255];
char var2[255]="12345678900023";
double d=atof(var2);
d= d/100;
sprintf(var1,"%f",d); // voir les formats de sprintf pour l'affichage voulu.
En espèrant que cela marchera.
@+