【发布时间】:2013-10-28 11:26:50
【问题描述】:
我正在使用以下代码将我的 itemValue 作为货币返回。
Return String.Format("{0:C}", itemValue)
但这将返回一个格式化为美元的字符串 - 有没有办法将其格式化为返回英镑?
谢谢,伙计
【问题讨论】:
标签: asp.net vb.net string iis string-formatting
我正在使用以下代码将我的 itemValue 作为货币返回。
Return String.Format("{0:C}", itemValue)
但这将返回一个格式化为美元的字符串 - 有没有办法将其格式化为返回英镑?
谢谢,伙计
【问题讨论】:
标签: asp.net vb.net string iis string-formatting
按照@Steve 的建议更改 CurrentCulture,或者像这样使用它:
Return itemValue.ToString("C", System.Globalization.CultureInfo.GetCultureInfo("en-gb"))
【讨论】:
在要求格式更改之前,请更改线程的 CurrentCulture
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-GB")
【讨论】:
字符串格式化程序从您机器的当前文化中获取货币和数字格式。您可以:
在格式中明确设置文化:
返回 String.Format(System.Globalization.CultureInfo.GetCultureInfo("en-GB"), "{0:C}", itemValue)
【讨论】:
有更简单的方法。 由于 float、double、decimal 等类型在整个 ToString() 方法中都有自己的格式。 例如:
double itemValue = 102.35;
Console.WriteLine(itemValue.ToString("C", new CultureInfo("en-GB")));
【讨论】: