2009-06-26 7 views
0

J'ai une application .NET disponible en plusieurs langues différentes. Je charge et sauvegarde essentiellement un fichier (contenant des doubles) dans la Culture du Système mais je voudrais forcer les nombres à toujours être affichés et entrés en utilisant le format de culture US (virgule comme groupement de chiffres, point comme séparateur décimal). J'ai essayé de surcharger l'application Culture mais cela ne semble pas fonctionner. Y a-t-il un moyen de gérer cela?overiding NumberFormat dans l'application .net cultureInfo

Répondre

1

CultureInfo.InvariantCulture existe dans le but spécifique de conserver des données dans un format cohérent. More Info on MSDN

Pour l'interface utilisateur, si vous voulez vraiment la mise en forme d'être de style américain, vous pouvez le faire:

Application.CurrentCulture = new CultureInfo("en-US"); 

Notez que vous devez mettre la culture sur chaque fil.

+0

Serait-il briser l'interface utilisateur si j'ai mis Application.CultureInfo = InvariantCulture? – ak3nat0n

+1

Je suppose que je vous ai mal compris. Le but de InvariantCulture serait de stocker les doubles d'une manière agnostique de la culture; il ne devrait pas être utilisé pour l'interface utilisateur. Pour cela, je définirais Application.CurrentCulture = new CultureInfo ("en-US"). – dahlbyk