首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Currency CultureInfo

Currency CultureInfo
EN

Stack Overflow用户
提问于 2010-07-28 05:58:04
回答 1查看 3.9K关注 0票数 1

我需要以一种文化特定的方式显示货币,我们目前只支持说英语的国家,但这可能会扩展到其他国家。我们正在快速实现这一点,所以我需要一种方法来暂时显示通用货币格式,直到我可以实现特定于文化的格式。

有人知道做这件事的最好方法吗?

EN

回答 1

Stack Overflow用户

发布于 2010-07-28 05:59:40

执行线程有一个CultureInfo属性附加到它上,例如"en-GB“,它是”英语-英国“或"cy-GB",代表”威尔士-英国“(前2个字符表示语言,后2个字符表示国家)。所以当你打电话给

代码语言:javascript
复制
double amount = 2.00;
amount.ToString("C")//Without a culture argument you are 
                    //actually passing the CultureInfo 

因此,要将特定的CultureInfo添加到字符串中,您需要做的就是提供一个新的CultureInfo,并将其作为第二个参数添加到ToString中,如下所示:

代码语言:javascript
复制
CultureInfo ci = new CultureInfo("en-GB");
amount.ToString("C", ci);

将以下行添加到Web.config,以在应用程序范围内对其进行更改

代码语言:javascript
复制
<globalization uiCulture="en" culture="en-GB" />

如果您希望将其作为每页的基础,也可以使用下面的代码行

代码语言:javascript
复制
<%@ Page UICulture="en" Culture="en-GB" %>

或更改正在执行的线程的区域性

代码语言:javascript
复制
CultureInfo ci = new CultureInfo("en-GB");
System.Threading.Thread.CurrentThread.CurrentCulture = ci;

国际上显示货币的方式是(U+00A4)(通过C#引用CLR,因为我在其他地方没有见过它),它可以使用.ToString("C", CultureInfo.InvariantCulture)显示,它显示了一个我认为没有人会识别的小星形东西。

此外,请记住,所有这些都不能绕过货币转换问题,除非需要显示的所有内容都直接转换为值的另一个货币值。在找到本地化应用程序的最佳方法之前,最好只显示美元或英镑。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3348379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档