kattig Posté 20 Avril 2007 Partager Posté 20 Avril 2007 (modifié) Bonjour, J'aimerais savoir comment prendre en compte les zéros qui sont devant un entier (int). Par exemple: Au lieu de i=45, j'aimerais que i=0045. Merci d'avance pour votre aide. kattig PS: Je ne sais pas si c'est le bon forum pour le c++. Si ce n'est pas le cas, veuillez m'en excuser, ce serait gentil à vous de me dire dans quel rubrique aller. Modifié 20 Avril 2007 par kattig Lien vers le commentaire Partager sur d’autres sites More sharing options...
steph Posté 20 Avril 2007 Partager Posté 20 Avril 2007 tu peux utiliser la fonction sprintf qui travaille sur une chaine : sprintf(chaine, "%4d", i); Ecrira dans 'chaine' le nombre 'i' avec 4 chiffres et des 0 devant si besoin. La syntaxe est similaire celle de printf : http://membres.lycos.fr/dancel/c/c60_10.htm Steph Lien vers le commentaire Partager sur d’autres sites More sharing options...
kattig Posté 20 Avril 2007 Auteur Partager Posté 20 Avril 2007 (modifié) Bonjour Steph, J'utiliserai finallement le string puisque le i (int) n'est pas modifié. Alors que ce que je voudrais, c'est que i soit égale à par exemple 00045. Merci en tout cas d'avoir bien voulu m'aider. kattig Modifié 20 Avril 2007 par kattig Lien vers le commentaire Partager sur d’autres sites More sharing options...
steph Posté 20 Avril 2007 Partager Posté 20 Avril 2007 Les int ne servent qu'a faire du calcul, ce n'est pas possible et ça ne sert à rien d'ajouter des 0 devant sauf si tu a besoin de les afficher et dans ce cas tu dois les convertir en chaine. Mais peut-être que je me trompe sur ton besoin et que je n'ai pas bien compris pourquoi tu doit formater ton nombre ainsi. Si tu veux préciser, je pourrai voir si je connais une solution. Steph Lien vers le commentaire Partager sur d’autres sites More sharing options...
kattig Posté 20 Avril 2007 Auteur Partager Posté 20 Avril 2007 Pour répondre à ta question, je suis entrain de faire des conversions (binaire et autre) et, pour cela me faudra stocker le résultat. En binaire, on y trouve des 0 devant que j'aimerais prendre en compte. Par rapport à la manière que j'avais programmé, cela ne prend en compte que des entiers. D'où la raison pour laquelle je me demandais si l'on pouvait affecter à un entier des zéros devant. La meilleure et unique solution (si j'ai bien compris) est de ne pas utiliser d'entiers. En tout cas, merci une nouvelle fois pour ton aide. Bonne journée. kattig Lien vers le commentaire Partager sur d’autres sites More sharing options...
destroyedlolo Posté 23 Avril 2007 Partager Posté 23 Avril 2007 La meilleur solution pour moi serait de stoquer les nombre en temps qu'entier, mais vraiment d'entier et non de representation de binaire. En claire et en decode, de stoquer 1110 en temps que i=14; et d'utiliser des fonctions de conversions pour la saisie et l'affichage. Ainsi, tous les operateurs binaires continueront a fonctionner. En fait, le plus propre serait meme de le faire dans une class histoire qu'un objet binaire reste toujours un objet binaire ... peut etre d'ailleurs que ca existe dans les classes standard du C++, je n'ai pas verifie. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant