百分比数据的格式化方式也是一部分CultureInfo吗?通过格式化,我的意思是,是否将其显示为47.3或0.473等.
我的实际问题是,对于DE语言,我必须使用47.3%表示法,而其他人使用0.473,所以我看这些东西是否也取决于文化,就像用于小数点的符号一样.
你必须编写代码才能做到这一点,例如:
string.Format("Value: {0:P2}.", 0.473) // formats as 47.3 % (varies by culture)
Run Code Online (Sandbox Code Playgroud)
它是P格式字符串,用于管理基于文化的格式.
值得注意的是P格式说明符会将数字乘以100,因为它基于十进制表示法(1表示100%,0.5表示50%等).
所以以下使用de-DE文化:
Thread.CurrentThread.CurrentCulture = new CultureInfo("de-DE");
Console.WriteLine("1. " + string.Format("Value: {0:P2}.", 0.473));
Console.WriteLine("2. " + string.Format("Value: {0:P2}.", 47.3));
Run Code Online (Sandbox Code Playgroud)
将输出:
- 47.30%
- 4,730.00%
这与英国文化的输出相同en-GB.
使用土耳其文化运行相同的代码突出了格式的差异(因为他们使用%23而不是23%).
Thread.CurrentThread.CurrentCulture = new CultureInfo("tr-TR");
Run Code Online (Sandbox Code Playgroud)
运行上面的代码(打印上面用于德国文化的两行)将输出:
- 47.30%
- %4,730.00
| 归档时间: |
|
| 查看次数: |
773 次 |
| 最近记录: |