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



我从一个基类派生控制器:

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对象的方法。。。

感谢

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

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

在我的情况下,我在web.config文件中添加了全球化标记,此外,由于我们需要自定义区域性格式(例如在FR-CA中使用"."而不是","作为小数),我在Global.asax.vb中添加了一个自定义,它可以全局设置全球化。

Web.config:

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

Global.asax.vb:

Private Sub MvcApplication_BeginRequest(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.BeginRequest
    StartSession()
    Dim  info as new Globalization.CultureInfo(System.Threading.Thread.CurrentThread.CurrentCulture.ToString())
    info.NumberFormat.CurrencyDecimalSeparator = "."
    info.NumberFormat.NumberDecimalSeparator = "."
    info.NumberFormat.PercentDecimalSeparator = "."
    info.NumberFormat.CurrencyGroupSeparator = ","
    info.NumberFormat.NumberGroupSeparator = ","
    info.NumberFormat.PercentGroupSeparator = ","
    info.NumberFormat.
    System.Threading.Thread.CurrentThread.CurrentCulture = info
End Sub

这就是我的情况。希望它能有所帮助。非常感谢。

相关内容

  • 没有找到相关文章

最新更新