Besoin d'aide en C

bsaad -  
 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

1 réponse

  1. lamabat
     
    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.
    @+
    0