【发布时间】:2011-04-30 05:50:32
【问题描述】:
我在英语 Windows 7 上使用英语 Visual Studio 2008,但我在荷兰。我的很多程序都需要读写浮点数。与英语相比,荷兰语的数字符号转换了点和逗号的含义(即荷兰语中的 1.001 是一千零一,而 1,001 是 1 + 1/1000)。我永远不必以荷兰语格式编写(或读取)数字,但由于某种原因,我编译的每个程序都默认使用它,所以每个 ToString() 都是错误的。这让我每次。我知道我可以把它放在每个线程的开头:
System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("en-US");
或者将 ToString() 的每个实例替换为:
String.Format(CultureInfo.InvariantCulture, "{0:0.####},{1:0.####}", x)
但有时我只是想编译一些东西来看看它是如何工作的,而不是做任何改变。另外,有时我一定会忘记这一点。有没有办法告诉 C#、.NET 和/或 Visual Studio 总是让我的所有项目/程序使用英文数字格式?
【问题讨论】:
-
写ToString(CultureInfo.InvariantCulture)有什么问题?
-
不简洁(也不能和"examplestr"+1.0一起使用,自动字符串转换),我偶尔会忘记,其他人已经忘记在我将使用的代码中使用了.
标签: c# visual-studio-2008 localization number-formatting