如何正确显示每种文化的百分比

时间:2012-07-25 07:39:51

标签: c# wpf string string-formatting

如您所知,百分比是根据语言写在数字的左侧或右侧。

例如:

土耳其语:%80 |英语:80%

本地化做起来非常简单。

可以使用字符串格式进行,并且在更改文化时可以更改演示吗?

任何想法或帮助将不胜感激。

1 个答案:

答案 0 :(得分:6)

你说没有本地化,你的意思是全球化(正如Leppie在下面的评论中所说的那样)?如果是这样 - 我很抱歉,但这个答案基本上没有回答你的问题,但是附带了一个强烈的建议来开始重新发明大量的轮子。

来自Standard numeric format strings

decimal percentage = 80.5M;
Console.WriteLine(percentage.ToString("P"));

将该数字格式化为当前文化的百分比。

如果它是您追求的特定文化,而不是当前的文化,您有两种选择 - 改变当前文化(通过CultureInfo.CurrentCultureCultureInfo.CurrentUICulture成员)或者您可以简单地通过文化作为ToString()的论据:

decimal percentage = 80.5M;
//English (UK)
Console.WriteLine(percentage.ToString("P", CultureInfo.CreateSpecificCulture("en-GB")));
//Turkish (Turkey)
Console.WriteLine(percentage.ToString("P", CultureInfo.CreateSpecificCulture("tr-TR")));