Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1264 connectés 

  FORUM HardWare.fr
  Programmation
  C

  [C] Utiliser atof avec un chaine contenant une "," et pas un "." ????

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] Utiliser atof avec un chaine contenant une "," et pas un "." ????

n°510690
mario51
Posté le 09-09-2003 à 09:17:17  profilanswer
 

[C] Utiliser atof avec un chaine contenant une "," et pas un "." ????
 
Ma chaine de caractere (ex :12,50).
J'ai un pb d'execution lorque j'utilise atof sur cette chaine.
 
A priori, atof prefererait 12.50 ......
 
 
Une idée ?
Merci

mood
Publicité
Posté le 09-09-2003 à 09:17:17  profilanswer
 

n°510691
LetoII
Le dormeur doit se réveiller
Posté le 09-09-2003 à 09:19:22  profilanswer
 

mario51 a écrit :

[C] Utiliser atof avec un chaine contenant une "," et pas un "." ????
 
Ma chaine de caractere (ex :12,50).
J'ai un pb d'execution lorque j'utilise atof sur cette chaine.
 
A priori, atof prefererait 12.50 ......
 
 
Une idée ?
Merci


 
remplace les , par des .  [:spamafote]


---------------
Le Tyran
n°510694
mario51
Posté le 09-09-2003 à 09:22:33  profilanswer
 

LetoII a écrit :


 
remplace les , par des .  [:spamafote]  


 
Si c'etait aussi simple que ca ......
Les données sont en lecture seule
 
 
Cette solution n'est pas envisageable, merci quand meme...
 
 
 

n°510696
VisualC++
J'va y penser ...
Posté le 09-09-2003 à 09:24:44  profilanswer
 

rien t empeche de copier la chaine en lecture "seule" ds une chaine temp ...

n°510697
LetoII
Le dormeur doit se réveiller
Posté le 09-09-2003 à 09:24:54  profilanswer
 

mario51 a écrit :


 
Si c'etait aussi simple que ca ......
Les données sont en lecture seule
 
 
Cette solution n'est pas envisageable, merci quand meme...
 
 
 
 


 :heink: Modifie la chaîne de caractère pas la source  :sarcastic:


---------------
Le Tyran
n°510699
skeye
Posté le 09-09-2003 à 09:27:47  profilanswer
 

et si tu tiens à ne rien modifier, sscanf doit te permettre de faire ce que tu veux!

n°510703
Taz
bisounours-codeur
Posté le 09-09-2003 à 09:38:03  profilanswer
 

Code :
  1. #include <locale.h>
  2. #include <stdio.h>
  3. int main()
  4. {
  5.   setlocale(LC_ALL, "" );
  6.   printf("pi = %f\n", 3.1415);
  7.   double d;
  8.   if(scanf("%lf", &d) == 1)
  9.     {
  10.       printf("d = %f\n", d);
  11.     }
  12. }


 
penche toi sur les locales : setlocale et localeconv

n°524363
roromaino
Posté le 26-09-2003 à 23:20:43  profilanswer
 

voici une transformation de 12,5 en 12.5:
c'est un peu lourd mais ca fonctionne impect

Code :
  1. //constantes
  2. #define LG_CHAINE 10
  3. //variable globales
  4. char chaine[LG_CHAINE]="12,50";
  5. char separateur[]   = ",";
  6. char *separation;
  7. char chaine_retour[LG_CHAINE];
  8. double resultat;
  9. void main (void)
  10. {
  11. separation = strtok( chaine, separateur );
  12. strcpy(chaine_retour,separation);
  13. strcat(chaine_retour,"." );
  14. separation = strtok( NULL, separateur );
  15. strcat(chaine_retour,separation);
  16. resultat = atof( chaine_retour );
  17. printf("retour : %f\n",resultat);
  18. }

n°524370
chrisbk
-
Posté le 26-09-2003 à 23:47:56  profilanswer
 

legerement lourd :O
 
pkoi tu fais pas comme ca :
 
 

Code :
  1. int i=0;
  2. int le = strlen(chaine;
  3. while(i<le)
  4. {
  5. if (chaine[i] == ',')
  6. chaine[i] = '.';
  7. i++;
  8. }
  9. float f = atof(chaine);

n°524430
Taz
bisounours-codeur
Posté le 27-09-2003 à 10:05:23  profilanswer
 

n'importe quoi les mecs ... soit setlocale, soit strchr, soit strxfrm
 
pas la peine de faire n'imp avec strtok ou de réinventer la roue
ensuite je vous ai déjà dit ce que je pensais de atof et strtod : aucune détection d'erreur possible -> sscanf


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  [C] Utiliser atof avec un chaine contenant une "," et pas un "." ????

 

Sujets relatifs
la chaine de caractères dans std::exceptionchaine de caractere
[algo]convertir une chaine ascii composé de décimaux en un entier rbnsPourquoi utiliser les Cookies plutot que les Sessions ?
Supprimer une chaine dans un fichiereclipse, fichier de conf pour dire quel jdk utiliser
Supprimer des espaces en milieu de chaine[Access VB Page Web] Newbie Pbm recup val champ faut il utiliser ASP?
[C] Initialisation un peu spéciale d'une chaine à la déclarationComment utiliser un fichier de configuration avec VS.NET en C# ?
Plus de sujets relatifs à : [C] Utiliser atof avec un chaine contenant une "," et pas un "." ????


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR