J'utilise Visual Studio 2008 sur Windows 7 en anglais, mais je suis basé aux Pays-Bas. Beaucoup de mes programmes ont besoin de lire et d'écrire des nombres à virgule flottante. Par rapport à l'anglais, la notation néerlandaise des nombres change la signification des points et des virgules (c'est-à-dire 1.001 en néerlandais est un mille et un, et 1.001 est 1 + 1/1000). Je ne serai jamais obligé d'écrire (ou de lire) des nombres au format hollandais, mais pour une raison quelconque, tous les programmes que je compile lui sont par défaut, donc chaque ToString() est faux. Cela m'amène à chaque fois. Je sais que je peux mettre cela au début de chaque fil:Comment faire en C# écrire le format de numéro anglais (non-localisé) par défaut?
System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("en-US");
Ou remplacer toutes les occurrences de ToString() avec:
String.Format(CultureInfo.InvariantCulture, "{0:0.####},{1:0.####}", x)
Mais parfois, je veux juste compiler quelque chose pour voir comment cela fonctionne , et ne fait aucun changement. Aussi, je suis obligé d'oublier cela parfois. Est-ce qu'il n'y a aucun moyen de simplement dire à C#, .NET et/ou Visual Studio de toujours faire en sorte que tous mes projets/programmes utilisent le format numérique anglais?
Qu'est-ce qui ne va pas avec l'écriture de ToString (CultureInfo.InvariantCulture)? –
Ce n'est pas concis (ne peut pas non plus être utilisé avec "examplestr" +1.0, conversion de chaîne automatique), je vais parfois l'oublier et d'autres ont déjà oublié de l'utiliser dans le code que je vais utiliser. – Jordi