Conversion ascii vers int
Résolu/Fermé
A voir également:
- Conversion ascii vers int
- Ascii - Guide
- Windows 7 vers windows 10 - Guide
- Ascii \n - Forum Programmation
- Il est en cours de transport vers votre site de livraison - Forum Consommation & Internet
- Transferer photo android vers pc - Guide
4 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 835
13 déc. 2008 à 16:42
13 déc. 2008 à 16:42
Salut,
Le code donné par dubcek est bon. Il faut juste l'adapter avec des %f si tu veux des float.
Tu peux également utiliser strtod (ou strtof si tu veux vraiment des float).
Ce qui donnerait :
En faut-il être sûr que dans la chaîne tu possèdes bien un point et non une virgule. Dans ce cas, c'est très simple, tu utilises strchr pour transformer la virgule en point et recommencer avec strtod.
Cdlt
Le code donné par dubcek est bon. Il faut juste l'adapter avec des %f si tu veux des float.
Tu peux également utiliser strtod (ou strtof si tu veux vraiment des float).
Ce qui donnerait :
#include <stdio.h> #include <stdlib.h> int main(void){ char *ch="12.34"; double d=strtod(ch,NULL); //et là tu as d return 0; }
En faut-il être sûr que dans la chaîne tu possèdes bien un point et non une virgule. Dans ce cas, c'est très simple, tu utilises strchr pour transformer la virgule en point et recommencer avec strtod.
Cdlt
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 615
12 déc. 2008 à 13:45
12 déc. 2008 à 13:45
hello
voir sscanf
int x;
char * s="123";
sscanf(s, "%d", &x);
voir sscanf
int x;
char * s="123";
sscanf(s, "%d", &x);
Merci pour la réponse!
Au fait j'ai trouvé une solution pour la conversion mais j'arrive pas à afficher la virgule et tous ce qu'il y a après.
Mon code c'est:
lati=lati+(latitude[0]-'0')*10;
lati=lati+(latitude[1]-'0');
lati=lati+(latitude[2]-'0')*0,1; // Cette ligne c'est pour le premier chiffre après la virgule...Mais sa ne marche pas.
Si quelqu'un aurait une idée
Merci
Au fait j'ai trouvé une solution pour la conversion mais j'arrive pas à afficher la virgule et tous ce qu'il y a après.
Mon code c'est:
lati=lati+(latitude[0]-'0')*10;
lati=lati+(latitude[1]-'0');
lati=lati+(latitude[2]-'0')*0,1; // Cette ligne c'est pour le premier chiffre après la virgule...Mais sa ne marche pas.
Si quelqu'un aurait une idée
Merci
13 déc. 2008 à 22:59
Merci