【发布时间】:2012-01-16 19:16:48
【问题描述】:
只是我想知道的事情。 在欧洲,逗号我们主要用于小数(如 20,001),但在欧洲以外,点主要用于(如 20.001) c#如何处理这个? 如果一个应用程序将被欧洲和非欧洲人使用,你在编程时是否需要担心以上问题?
只是好奇。
【问题讨论】:
-
不是骗子,恕我直言,另一个问题假设有人知道本地化,这个不知道。
只是我想知道的事情。 在欧洲,逗号我们主要用于小数(如 20,001),但在欧洲以外,点主要用于(如 20.001) c#如何处理这个? 如果一个应用程序将被欧洲和非欧洲人使用,你在编程时是否需要担心以上问题?
只是好奇。
【问题讨论】:
就编程语言而言,小数点分隔符始终为.,用于分隔函数参数的标点符号始终为,。根据程序员的口语更改它会太混乱。
对于用户界面,CultureInfo class 中有格式化函数,可以生成使用您选择的小数点分隔符和千位分隔符的浮点数表示。 (或者,对于数字的数字分组方式不同于三元组的文化,格式化函数也可以处理。)
【讨论】:
CultureInfo 处理这种情况。
看看this
// 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 框架)为此目的有文化的概念:
http://msdn.microsoft.com/en-us/library/bz9tc508.aspx
和
http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo(v=VS.100).aspx
【讨论】:
您应该使用CultureInfo Class 来处理它。只需使用正确的格式化程序读写即可。
【讨论】:
这取决于你具体做什么...... .NET 通常知道机器/操作系统的当前设置并使用这些设置......
您应该查看this 并查看其中是否与您的情况相关...
【讨论】: