如何在 ASP NET MVC 中显示带负数而不是括号的货币
本文关键字:货币 ASP NET MVC 显示 | 更新日期: 2023-09-27 18:33:02
我希望我的值显示在视图中
喜欢: -$150.00
而不是: ($150.00)
--
我想这就是我必须做的:
如何以红色显示负货币?
但我不知道他所说的"基本控制器类"是什么意思
这一切都
取决于NumberFormatInfo.CurrencyNegativePattern
.大概你得到了值 0,当听起来你想要 1 时。
目前尚不清楚您当前使用的是用户的CultureInfo
、服务器的还是其他东西。但是,您始终可以克隆正在使用的任何区域性,然后修改NumberFormatInfo
。
示例代码:
using System;
using System.Globalization;
class Test
{
static void Main()
{
var original = new CultureInfo("en-us");
// Prints ($5.50)
Console.WriteLine(string.Format(original, "{0:C}", -5.50m));
var modified = (CultureInfo) original.Clone();
modified.NumberFormat.CurrencyNegativePattern = 1;
// Prints -$5.50
Console.WriteLine(string.Format(modified, "{0:C}", -5.50m));
}
}
所以将@Jon双向飞碟答案与这个合并
真正的答案是将此方法添加到 MVC 项目的 Global.asax.cs 文件中。仅此而已。
关键是第二行:
protected void Application_BeginRequest(object sender, EventArgs e)
{
CultureInfo culture = new CultureInfo("en-us");
culture.NumberFormat.CurrencyNegativePattern = 1;
Thread.CurrentThread.CurrentUICulture = culture;
Thread.CurrentThread.CurrentCulture = culture;
}