Salut!
G un petit probleme. Qd lit des chiffres ds un fichier, ils ortent en ecriture decimal avec une virgule( genre : 0,98566). Mais moi je voudrais avec un point (0.98566). Coment faire ?
je lis avec
fscanf("%ld", chiffre)
En fait ce qui m'embete vraiment c que si je fais avec un prg "simple", cad un fichier principle qui gere les autre et qui lance l'apli, mais pas avec mon interface graphique en GTK?!?! je ne comprend vraiment pas pourquoi...
De plus la syntaxe du fscanf est plutôt fscanf(p_fichier , "%f" , &chiffre);
Comment se fait-il qu'il puisse mettre une virgule, par défaut le C et le C++ prennent un . (point) comme délimiteur des décimals.
__________________________
Lisez la charte, pensez à regarder la FAQ, les tutoriaux, l'annuaire et faites une recherche dans les forums.
N'oubliez pas le Tag [Résolu].
enfin ce que tu pourrais faire c'est convertir ce chiffre en char * et remplacer la virugle par un point... alors que je ne comprend pas pourquoi il te met une virgule...
ciao
__________________________
Grégory S.
eVias Web & Software Solutions.
Développement Web et logiciel en tout genre et Open Source.
Ouais, ok pour la syntaxe du fscanf, g mal copier, mais ds le prg elle est bonne....
Ce que je disais, c que je ne ce probleme que lorsque j'utilise GTK pour lancer mon prg...
Je vais essayer le coup de la chaine de caractere, mais g peur que ce ne soit pas top, car que fera le prg si un jour, il met des points (par exemple en changeant de machine)?
De toute façon, le programme les prends pour des float et les calculs sont bons ?
S'il faut c'est juste GTK qui affiche les flottants avec une virgule.
Le coup de passer par un char n'est valable que pour l'affichage car on ne peut plus faire de calcul avec.
Tu peux faire une fonction afficher_float qui prend le flottant et le transforme en chaine de caractère, avec vérification du point ou de la virgule et changement que si il trouve une virgule.
Perso, je ne crois pas que ce soit la bonne solution, il vaudrait mieux chercher du côté de l'affichage des floats avec GTK.
__________________________
Lisez la charte, pensez à regarder la FAQ, les tutoriaux, l'annuaire et faites une recherche dans les forums.
N'oubliez pas le Tag [Résolu].
C'est ce que je pense aussi, le char * n'est pas du tout une bonne idée car il ne te permettra plus rien vec ce float, uniquement l'utiliser pour l'affichage, mais il se peut que ce soit GTK qui fasse ça, donc que GTK place, par défaut, une virgule et pas un point
comme dit pac, faut voir du côté des affichages de floats :) (sinon utilise des doubles ;) )
ciao
__________________________
Grégory S.
eVias Web & Software Solutions.
Développement Web et logiciel en tout genre et Open Source.
Ouais, mais j'ai besoin du point, car j'utilise Gnuplot derriere...donc je pense que je vais creer des tableaux de char*, qui seront des copies de mes tableaux de reels, mais en changeant les ',' en '.' .
Mon nouveau probleme est que je n'arrive pas a changer mon double en string.... desole, la vous devez vous foutre de moi...
Je pense que l'affichage de gtk prend en compte ton environnement, c'est a dire que c'est tu es en francais c'est tout a fait normal qu'il affiche ton double avec une virgule (c'est la norme francaise, en anglais on aurait un point).
avec quoi affiches tu tes doubles ? as tu essaye un bete printf ?
Si ca vient de ton affichage GTK, et que printf n'a pas le meme comportement c'est probablement a cause de ton environement.
Ouais, je fais des bons vieux printf pour voirce qui se passe...
en tous je suis au Chili, sur une machine chilienne dont je ne connais pas la norme...
je ne pense pasque ce soit un pb d'affichage.
En fait, il faut juste que je sache comment convertir un double en char*, et je ne vous embeterai plus (enfin du moins avec ce pb la )