URL: https://linuxfr.org/forums/programmation-c--2/posts/r%C3%A9cup%C3%A9rer-un-xsddecimal-en-c Title: Récupérer un xsd:decimal en C Authors: Bonnefille Guilhem Date: 2005年09月26日T16:52:05+02:00 Tags: Score: 0 Bonjour, Je suis confronté à un problème que j'imagine très classique, mais c'est la première fois que je joue avec les locales. J'ai un soft écrit en GTK. Il lit des fichiers en XML (lecture réalisée avec expat). Un des champs est un réel (xsd:decimal). Le champ en question est converti en double avec strtod. Mon problème, c'est que l'appli se retrouve localisée (c'est bien) mais du coup, strtod ne reconnait pas la totalité du réel. En effet, je suis dans un environnement fr_FR. Or, le xsd:decimal utilise **obligatoirement** le '.' (point) comme séparateur. En environnement fr_FR, strtod s'attend à trouver un ',' (une virgule). Comment faire _proprement_ pour récupérer cette valeur ? J'ai pensé à modifier la locale avant strtod et la restituer après, mais c'est pas terrible. XML étant un format d'échange, est-ce que ce n'est pas à la librairie expat de faire le boulot ? Merci d'avance pour tous vos conseils.