5

只是我想知道的事情。在欧洲,逗号我们主要用于小数(如 20,001),但在欧洲以外,点主要用于(如 20.001) c# 如何处理这个问题?如果一个应用程序将被欧洲和非欧洲人使用,您在编程时是否需要担心以上问题?

只是好奇这个。

4

5 回答 5

13

编程语言而言,小数点分隔符始终为.,用于分隔函数参数的标点符号始终为,。根据程序员的口语更改它会太令人困惑。

对于用户界面,CultureInfo中有格式化函数,可以生成使用您选择的小数点分隔符和千位分隔符的浮点数表示。(或者,对于数字的数字分组方式与三元组不同的文化,格式化函数也可以处理。)

于 2012-01-16T19:18:43.987 回答
7

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"
于 2012-01-16T19:19:05.453 回答
3

是的,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

于 2012-01-16T19:19:05.640 回答
0

您应该使用CultureInfo 类来处理它。只需使用正确的格式化程序读写即可。

于 2012-01-16T19:19:59.460 回答
0

这取决于你到底在做什么...... .NET 通常知道机器/操作系统的当前设置并使用那些......

您应该对此进行调查,看看它是否与您的情况相关......

于 2012-01-16T19:20:07.967 回答