2010-07-30 6 views

Répondre

9

Le but de base est de localiser des applications. Par exemple, aux États-Unis, un grand nombre avec un séparateur décimal serait normalement écrit comme: "1,234.56". Dans une grande partie de l'Europe, le même nombre serait normalement écrit comme: "1.234,56". Un paramètre régional vous permet d'isoler des informations sur un tel formatage (et d'autres éléments qui varient d'un pays, d'une langue, d'une culture, etc.) à un seul endroit. Par exemple, je pourrais utiliser:

std::locale loc(""); 
std::cout.imbue(loc); 

std::cout << 1234.56; 

Les paramètres régionaux sans nom (« ») est spécial: il prend automatiquement la langue locale dans l'utilisateur a configuré. Quand j'exécute ce code, la sortie que je reçois est: "1,234.56". Quelqu'un d'autre pourrait exécuter exactement le même code, mais si son environnement était configuré pour une autre convention, il pourrait obtenir "1.234,56" ou "1 234,56", etc.

nous (dans ce cas) continue à écrire un nombre distinct de la mise en forme de ce nombre de manière appropriée pour un public spécifique. Bien sûr, une locale a un certain nombre de «facettes», dont chacune couvre une facette distincte de la localisation, comme le formatage des nombres, la mise en forme de la monnaie, la détermination de ce qui est considéré comme minuscule ou majuscule, etc.

Questions connexes