【发布时间】:2016-02-28 23:59:25
【问题描述】:
我有一个多语言的 vb.net 应用程序。
我正在尝试格式化一个数字(ULong)以根据当前语言货币组分隔符显示它:
value.ToString("0.##", CultureInfo.CurrentCulture)
CultrueInfo.CurrentCulture 可以是英语 (en-GB)、西班牙语 (es-ES) 或加泰罗尼亚语 (ca-ES),具体取决于应用中选择的语言。
问题如下:
- 如果选择了西班牙语 (es-ES),则值不正确
格式化为西班牙语货币组分隔符是
','而不是"0.##"中的'.',所以我需要用"0,##"代替。
例如 1200 被格式化为 1200 而不是 1.200
- 但如果我将掩码更改为
"0,##",那么如果语言设置为 en-GB, 值未正确格式化为它的货币组分隔符 是".",而不是"0,##"中的",",所以我需要输入"0.##"而是。
那么如何自动调整掩码以适用于所有语言?检测语言并相应地设置正确的掩码?但是对于少数语言来说还可以,但不适合很多语言...
【问题讨论】:
标签: vb.net globalization cultureinfo culture