【问题标题】:format currency in specific way for only one culture仅针对一种文化以特定方式格式化货币
【发布时间】:2013-04-17 21:44:36
【问题描述】:

我正在开发一个以不同货币显示产品价格的多语言应用程序。我使用 .net 库根据文化例如格式化货币。

CultureInfo current = CultureInfo.CurrentCulture;
        return value.Value.ToString("C", current);

一位俄罗斯客户对此显示方式不满意,例如,他们想要 100 руб。显示,而不是目前的 100,00 р。

有没有一种简单的方法可以修改价格字符串的生成方式,而不影响其他对其文化货币的转换?

【问题讨论】:

  • “其他转化”是什么意思?代码中其他地方的相同文化中的转换,或其他文化中的转换?
  • 其他文化中的转换

标签: c# cultureinfo culture


【解决方案1】:

您可以对某些文化使用自定义价格格式。 例如:如果您的数据库中有 Culture 表。您应该添加具有默认值“{0:C}”的 CustomPriceFormat 列。在这种情况下,您可以更改一些文化的价格格式。 然后你可以这样使用:

var priceString = string.Format(currentCulture.CustomPriceFormat, d);

对于俄罗斯文化 CustomPriceFormat 是“{0:N} руб”。

【讨论】:

    猜你喜欢
    • 2016-04-25
    • 2012-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多