URL: https://linuxfr.org/forums/linux-debian-ubuntu/posts/resolu-probleme-de-separateur-decimal Title: [Résolu] Problème de séparateur décimal Authors: cfx Date: 2013年10月15日T15:56:13+02:00 License: CC By-SA Tags: ubuntu et locale Score: 1 Salut à tous, J'ai une machine virtuelle et un serveur sur lesquels j'ai installé des Ubuntu 12.04 (LTS donc), qui sont configurées plus ou moins de la même façon (package, environnement...). Je tente d'y faire tourner un programme développé en C++ et compilé par mes soins et qui utilise boost::program_options pour gérer les options de la ligne de commande : ./pouet -l 42.5 Sur la machine virtuelle, tout fonctionne comme prévu. Sur le serveur, il faut que je change le séparateur décimal pour une virgule : ./pouet -l 42,5 . Ou bien que je force `export LC_NUMERIC=C`. Pourtant, sur les deux installations, les locales semblent bonnes : ```bash $ locale LANG=fr_FR.UTF-8 LANGUAGE=fr:en LC_CTYPE=fr_FR.UTF-8 LC_NUMERIC="fr_FR.UTF-8" LC_TIME="fr_FR.UTF-8" LC_COLLATE=fr_FR.UTF-8 LC_MONETARY="fr_FR.UTF-8" LC_MESSAGES=fr_FR.UTF-8 LC_PAPER="fr_FR.UTF-8" LC_NAME="fr_FR.UTF-8" LC_ADDRESS="fr_FR.UTF-8" LC_TELEPHONE="fr_FR.UTF-8" LC_MEASUREMENT="fr_FR.UTF-8" LC_IDENTIFICATION="fr_FR.UTF-8" LC_ALL= ``` Et si je compile et exécute ces quelques lignes ce C, tout va bien : ```c #include #include int main(int argc, char** argv) { double a = atof("42.5"); printf("%lf\n", a); return 0; } ``` Si l'un d'entre vous à une idée, je suis preneur.

AltStyle によって変換されたページ (->オリジナル) /