Séparateur décimal : point ou virgule ?
Bonjour
J'ai un problème avec le séparateur décimal. Je n'arrive pas à croire ce qu'il m'arrive.
Voici le code :
Code:
1 2 3 4
| sscanf("2,5","%f",&sortie);
printf("%f -=- ",sortie);
ii=sscanf(node->attributs[i].value,"%f",&sortie);
printf("Lecture float : %s => %f\n",node->attributs[i].value,sortie); |
Voici l'affichage
Code:
:2,500000 -=- Lecture float : 1.6 => 1,000000
Donc, le séparateur décimal décimal pris en compte est la virgule !
Je me pince, j'en conclu que je ne rêve pas...
Comment faire pour tester quel est le séparateur décimal pris en compte ? Ou comment faire pour forcer le point ?
Pour information, je suis sous Linux et sous windows. Sous Linux, je compile avec gcc ou mingcc.