在整个应用程序中更改货币符号

时间:2013-07-13 10:15:20

标签: asp.net-mvc currency cultureinfo

我从基类派生控制器:

namespace merawi.Controllers
{
    public class BaseController : Controller
    {
        public CultureInfo trTR = new CultureInfo("tr-TR");

        public BaseController()
        {
            trTR.NumberFormat.CurrencySymbol = "TL";
        }
    }
}

并使用此语句格式化货币:

ViewBag.SellingPrice = sp.ToString("C", trTR);

但是,在具有视图模型的视图中

@model List<merawi.Models.DocumentWorkStep>

我需要一种方法来根据需要格式化货币。

SellingPriceDocumentWorkStep类中的十进制字段:

public Nullable<decimal> SellingPrice { get; set; }

并使用此

<td>@string.Format("{0:C}", res.SellingPrice)</td>

输出₺,我需要“TL”

我需要一种从视图文件中访问trTR对象的方法......

由于

2 个答案:

答案 0 :(得分:1)

将此添加到您的web.config文件中,假设您希望在整个应用程序中使用相同的区域性:

<configuration>
    <system.web>
        <globalization uiCulture="tr-TR" culture="tr-TR" />
    </system.web>
</configuration>

答案 1 :(得分:1)

就我而言,我也在web.config文件中添加了IPv标签,因为我们需要自定义文化格式(例如在{{中使用"."代替","作为小数1}}),我在Global.asax.vb中添加了一个自定义,可以全局设置全球化。

的Web.config:

FR-CA

Global.asax.vb:

<globalization culture="fr-CA" uiCulture="fr-CA"/>

这是我的情况。希望它有所帮助。谢谢。