2

我从基类派生控制器:

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

谢谢

4

2 回答 2

1

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

<configuration>
    <system.web>
        <globalization uiCulture="tr-TR" culture="tr-TR" />
    </system.web>
</configuration>
于 2013-07-13T12:58:40.290 回答
1

在我的例子中,我在 web.config 文件中添加了全球化标签,另外,由于我们需要自定义文化格式(例如在 中使用"."而不是","as decimal FR-CA),我在 Global.asax.vb 中添加了一个自定义,它可以在全球范围内设定全球化。

网络配置:

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

全球.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

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

于 2013-10-23T06:08:08.583 回答