【问题标题】:String.Format format specifer as Pound SterlingString.Format 格式说明符为英镑
【发布时间】:2013-10-28 11:26:50
【问题描述】:

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

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

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

谢谢,伙计

【问题讨论】:

    标签: asp.net vb.net string iis string-formatting


    【解决方案1】:

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

    Return itemValue.ToString("C", System.Globalization.CultureInfo.GetCultureInfo("en-gb"))
    

    【讨论】:

    • 理想 - 再次感谢!
    【解决方案2】:

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

    Thread.CurrentThread.CurrentCulture = new CultureInfo("en-GB")
    

    【讨论】:

    • 还可以查看@acfrancis 的解决方案。如果您只需要在少数地方进行更改并在其他地方保留默认值,则最好
    • 好人史蒂夫,干杯。
    【解决方案3】:

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

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

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

    【讨论】:

    • 如上所述 - 所有这些答案都是完美的。干杯,家伙。
    【解决方案4】:

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

    double itemValue = 102.35;
    Console.WriteLine(itemValue.ToString("C", new CultureInfo("en-GB")));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-16
      • 1970-01-01
      • 1970-01-01
      • 2016-02-13
      • 2013-08-28
      • 1970-01-01
      • 1970-01-01
      • 2016-08-17
      相关资源
      最近更新 更多