Sprintf : le point devient virgule! [Résolu]

Signaler
Messages postés
56
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
25 novembre 2004
-
Messages postés
56
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
25 novembre 2004
-
Bonjour à tous,
voici mon code:
char buffer[16];
sprintf(buffer, "%f", seuil_db);

seuil_db est un float, il y a une valeur du genre 1.45 dedans.
Et bien dans buffer je n'ai pas 1.45 mais 1,45 !
Je voudrais savoir pourquoi le '.' (point) devient une ',' (virgule), est-ce que quelqu'un a une idée?

Merci d'avance,
Jula.

7 réponses

Messages postés
56
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
25 novembre 2004

merci Nebula, il faut effectivement mettre la variable d'environnement LC_NUMERIC à POSIX !!!
pour BruNews: Fedora Core 1 est une distribution Linux gratuite de RedHat...
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
2
Chez moi tout reste intact!
Pas de changement de "." en "," !

Shell
Messages postés
56
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
25 novembre 2004

salut,
je travaille sur Fedora Core 1 et toi?
Messages postés
241
Date d'inscription
vendredi 23 mai 2003
Statut
Membre
Dernière intervention
8 octobre 2007
1
Idem chez, moi marche très bien avec borland et visual.
J'ai souvent utilisé gcc ou devcpp et je me souviens pas avoir eu un problème du genre.

Jula, si ça t'importe tant que ça, change le manuellement dans [buffer].

eRoZion
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
"Fedora Core 1"

Excuse mais c'est quoi ce truc ?

ciao...
BruNews, MVP VC++
Messages postés
787
Date d'inscription
samedi 8 juin 2002
Statut
Membre
Dernière intervention
7 juin 2007
1
Une distrib linux...

Vérifie tes paramètres de locale, en particulier LC_NUMERIC.
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
ui, ce pb vient des param linguistiques...

si ça te gène vraiement (réutilisation auto...)
tu n'a qu'à le remplacer automatiquement...
(remplacement, d'un caractère par un autre, tu as le choix des méthodes)
ma méthode perso est ds ma lib: BString
utilisée ainsi:
chaine.remplaceAParB(',','.');

++
Magic Nono: l'informagicien! 8-)