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

ibr*_*maz 3 c# string wpf string-formatting

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

例如:

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

通过本地化实现它非常容易.

可以用字符串格式来实现,并且当文化改变时,演示可以改变吗?

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

And*_*tan 5

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

标准数字格式字符串:

decimal percentage = 80.5M;
Console.WriteLine(percentage.ToString("P"));
Run Code Online (Sandbox Code Playgroud)

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

如果它是您所追求的特定文化,而不是当前的文化,您有两种选择 - 改变当前文化(通过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")));
Run Code Online (Sandbox Code Playgroud)