只是我想知道的事情。在欧洲,逗号我们主要用于小数(如 20,001),但在欧洲以外,点主要用于(如 20.001) c# 如何处理这个问题?如果一个应用程序将被欧洲和非欧洲人使用,您在编程时是否需要担心以上问题?
只是好奇这个。
就编程语言而言,小数点分隔符始终为.
,用于分隔函数参数的标点符号始终为,
。根据程序员的口语更改它会太令人困惑。
对于用户界面,CultureInfo
类中有格式化函数,可以生成使用您选择的小数点分隔符和千位分隔符的浮点数表示。(或者,对于数字的数字分组方式与三元组不同的文化,格式化函数也可以处理。)
CultureInfo 处理这种情况。
看看这个
// format float to string
float num = 1.5f;
string str = num.ToString(CultureInfo.InvariantCulture.NumberFormat); // "1.5"
string str = num.ToString(CultureInfo.GetCultureInfo("de-DE").NumberFormat); // "1,5"
是的,c#(实际上是整个 .NET 框架)为此目的具有 Cultures 的概念:
http://msdn.microsoft.com/en-us/library/bz9tc508.aspx
和
http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo(v=VS.100).aspx
您应该使用CultureInfo 类来处理它。只需使用正确的格式化程序读写即可。
这取决于你到底在做什么...... .NET 通常知道机器/操作系统的当前设置并使用那些......
您应该对此进行调查,看看它是否与您的情况相关......