wxDev.fr, le portail francophone consacré à wxWidgets ! ( The french portal for wxWidgets )  
Esp. membre
Recheche rapide



Recherche avancée
Statistiques
Membres inscrits :2359

Membres en ligne : 0
Invités en ligne : 1

Valid XHTML 1.0 Transitional

Valid CSS2

Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Développement C/C++
» Séparateur décimal en fonction de la langue.
Conversation (Résolue) : Séparateur décimal en fonction de la langue.
24-07-2009 09:32:08  Séparateur décimal en fonction de la langue. #1
guyothomas (Membre)
Inscrit le : 05-06-2008
Messages: 66
Snippets: 0
Tutoriels: 0
Hors ligne
wxBonjour,
Si comme moi, vous lisez des nombres décimaux dans des fichiers pour les afficher sur votre interface, et que votre programme utilise l'internationalization (au moins le français et l'anglais), vous aurez remarqué que les nombre PI par exemple s'écrira 3.14 en anglais et 3,14 en français.
En l'écrivant dans un fichier, il aura la forme décidée par la langue courante de votre programme.

Ce manque de constance me posait problème, alors j'ai trouvé une solution:

Code wxWidgets:

// This sets the decimal point to be '.', whatever the language defined !!!!!!!!!
wxSetlocale(LC_NUMERIC, "C");        // didn't understand why "C"...
 
Cela m'écrit toujours les nombres avec un point (.) pour séparateur décimal, même si dans les paramètres régionaux de windows j'ai la virgule, et que mon programme est exécuté en français.
Youpi, me direz-vous, et pourquoi tu viens poster ici alors?
J'aime bien comprendre ce que je fais et là, autant le LC_NUMERIC, je le comprends très très bien, autant le 2ème paramètre "C", je vois pas du tout d'où il sort.

Merci si quelqu'un a une explication, sinon de toute façon c'est pas grave, vu que ça fonctionne comme je veux.
Bonne journée les codeurs,

Thomas
29-07-2009 09:17:44  Re: Séparateur décimal en fonction de la langue. #2
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1383
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
Salut.

D'après ce que j'ai pu lire, mettre une locale sur "C" revient à utiliser la localisation minimale présente sur tous les systèmes, et correspondant aux programmes qui à l'origine étaient codés en C (et donc, avec le point comme séparateur décimal).

@+
Xav'

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà...
Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Développement C/C++
» Séparateur décimal en fonction de la langue.