我从一个基类派生控制器:
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>
我需要一种根据需要格式化货币的方法。
SellingPrice
是DocumentWorkStep
类中的十进制字段:
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
这就是我的情况。希望它能有所帮助。非常感谢。