C#, 通过CultureInfo类获得的货币符号,有时候会和控制面板中得到的不一样,怎么样才能得到一致的呢?

如题。比如CultureInfo.GetCultureInfo("ms-MY").NumberFormat.CurrencySymbol在有些系统/机器(比如Vista)... 如题。
比如CultureInfo.GetCultureInfo("ms-MY").NumberFormat.CurrencySymbol 在有些系统/机器(比如Vista)上得到的Value是"R". 但是同一台机器,控制面板里面查看到的马来西亚的货币符号却是"RM".
理论上CultureInfo得到的应该就是控制面板看到的信息才对啊?请问如何才能通过代码得到一致的信息?
谢谢!
谢谢几位的回答。
@在__凌晨,我需要在C#程序中获得信息。
@龙过鸡年 ,请看清楚问题,这种方法不行啊。
@一边一半,还是请看清问题,我要的是任意一个文化的货币符号,通过参数指定的。不是当前文化,你说的那个应该是InvariantCulture,不是我想要的。
而且我其实知道怎么去获得,请参见我问题里面给出的获得马来西亚货币符号的例子,只是通过这种方法在某些系统无法获得正确答案。
展开
 我来答
龍过鸡年
2012-01-06 · TA获得超过311个赞
知道小有建树答主
回答量:308
采纳率:100%
帮助的人:370万
展开全部
System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencySymbol;
========================
我取的是本地的货币符号,和你控制面板里显示的肯定一样,是你自己的问题提的不明确!
你直接问马来西亚的货币符号在 GetCultureInfo 里用什么才对
下面的你自己选
========================
Console.WriteLine(
string.Join("\r\n", System.Globalization.CultureInfo
.GetCultures(System.Globalization.CultureTypes.AllCultures)
.Select(info=>
string.Format("LCID: {0}, Name: {1}, DisplayName: {2}, EnglishName: {3}, CurrencySymbol: {4}",
info.Name,
info.LCID,
info.DisplayName,
info.EnglishName,
info.NumberFormat.CurrencySymbol)).ToArray()));
更多追问追答
追问
谢谢你的回答。
>1. 控制面板里面看到的并不只有CurrentCulture的信息,打开控制面板的区域与语言选项,会发现区域哪里是一个ComboBox. 打开下拉菜单,你可以看到所有文化的信息。
>2. 你写的这段Linq,用于获得货币符号的代码,其实和我在问题里面给出的方法是一样的,
我的问题是:为什么结果和控制面板的不一样。
用VS2010打印出的是RM,和控制面板一样。
你用低版本试试看,会发现打印出来的是R。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一边一半
2012-01-06 · TA获得超过259个赞
知道小有建树答主
回答量:491
采纳率:0%
帮助的人:358万
展开全部
CultureInfo.inte..........后面忘记了,你搜下,这个属性就应当是与当前系统默认的一致。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
在__凌晨
2012-01-06
知道答主
回答量:15
采纳率:0%
帮助的人:5.1万
展开全部
可以在IE浏览器里面看的!具体的在哪看我也记不大清楚了!你找找吧
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式