2

我正在使用以下代码将我的 itemValue 作为货币返回。

Return String.Format("{0:C}", itemValue)

但这将返回一个格式化为美元的字符串 - 有没有办法将其格式化以返回英镑?

谢了,兄弟们

4

4 回答 4

7

按照@Steve 的建议更改 CurrentCulture,或者像这样使用它:

Return itemValue.ToString("C", System.Globalization.CultureInfo.GetCultureInfo("en-gb"))
于 2013-10-28T11:36:57.370 回答
4

在要求格式之前更改线程的 CurrentCulture

Thread.CurrentThread.CurrentCulture = new CultureInfo("en-GB")
于 2013-10-28T11:34:33.687 回答
2

字符串格式化程序从您机器的当前文化中获取货币和数字格式。您可以:

  1. 更改计算机上的文化信息
  2. 在格式中明确设置文化:

    Return String.Format(System.Globalization.CultureInfo.GetCultureInfo("en-GB"), "{0:C}", itemValue)

于 2013-10-28T11:38:23.500 回答
0

有更简单的方法。由于 float、double、decimal 等类型在整个 ToString() 方法中都有自己的格式。例如:

double itemValue = 102.35;
Console.WriteLine(itemValue.ToString("C", new CultureInfo("en-GB")));
于 2013-10-28T11:59:29.293 回答