Convertir (chaine -> nombre) et (nombre -> chaine) [dev-c++]

Soyez le premier à donner votre avis sur cette source.

Snippet vu 17 080 fois - Téléchargée 39 fois

Contenu du snippet

Cette fonction vous permettera de convertir les chaines et les nombres:

Source / Exemple :


#include "stdio.h"
#include "stdlib.h"
#include "iostream.h"

int main( void )
{
    int nombre=0;
    char chaine[]="1450";

    // (chaine -> nombre)
    nombre = atoi( chaine );
    printf( "le nombre est: %d", nombre );

    // (nombre -> chaine)
    nombre = 2000;
    sprintf( chaine, "%d", nombre );
    printf( "le nombre est: %s", chaine );

    return 0;
}

Conclusion :


Ces 2 fonctions ne génèrent aucuns bugs sous DEV-C++

A voir également

Ajouter un commentaire Commentaires
Messages postés
18
Date d'inscription
jeudi 7 août 2003
Statut
Membre
Dernière intervention
13 août 2003

Voila une solution tres bien pour recuperer chaque digit d'un nombre

void display_nb(int nb)
{
char c;
if(nb < 0)
{
write(1,'-',1);
nb = -nb;
}
if(nb > 10)
display_nb(nb/10);
c = nb%10 + '0';
write(1,&c,1); // peut etre remplacer parce que l'on veut fichier,memoire etc
}
Messages postés
8
Date d'inscription
jeudi 22 mai 2003
Statut
Membre
Dernière intervention
23 mai 2003

Tiens, j'oubliais, un truc pour passer d'un entier à un char:

int num=3; // c'est un exemple
char monchar;

monchar = num + '0';

L'astuce, on ajoute à notre entier la valeur du code ASCII du chiffre 0.
Notre char se voit donc attribuer la valeur ASCII du caractère 3;
Messages postés
8
Date d'inscription
jeudi 22 mai 2003
Statut
Membre
Dernière intervention
23 mai 2003

Bon, pour garder la partie entière d'un nombre après une division, il y a plus simple. Bon, Le % fonctionne très bien et c'est à priori le mieux pour ce que tu fais. Sinon, il y a les fonctions floor et ceil (je sais plus quelle librairie il faut utiliser) qui renvoient un entier, soit directement inférieur, soit directement supérieur. Le transtypage fonctionne aussi, cad que tu veux que le résultat soit un entier eg:
result = (int)(nombre/10);
Sinon, je connaissais pas cgvt, je vais essayertiens pour voir, p't'être amusant!
Messages postés
88
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
27 mars 2006

pe t etre interessant mais ca ne sert a rien
Messages postés
88
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
27 mars 2006

pe t etre interessant mais ca ne sert a rien
Afficher les 8 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.