逗号后带两个零的格式号

本文关键字:两个 格式 | 更新日期: 2023-09-27 18:03:07

我在模型上有一个属性,像这样:

[DisplayFormat(DataFormatString = "{0:C2}")]
public decimal TotalPrice { get; set; }

TotalPrice是例如800,00,然后视图显示$ 800,00,如果TotalPrice800,01(或类似的东西),视图显示$ 800,01这也是正确的但我的客户想要的是,如果TotalPrice包含小数,那么视图必须显示,00而不是小数。我不能用[DisplayFormat(DataFormatString = "{0:C0}")]格式化数字,因为它会显示$ 800,我不想那样。这种情况下的正确格式是什么?

举例:

TotalPrice = 800
//Output: $ 800,00
TotalPrice = 800.23
//Output: $ 800,00
TotalPrice = 800.63
//Output: $ 801,00

逗号后带两个零的格式号

[DisplayFormat(DataFormatString = "{0:C2}")]
public decimal TotalPrice { 
    get ()
    {return Math.Round(this.TotalPrice);}
    set;

}

或者如果你需要从totalprice中得到小数,那么

[DisplayFormat(DataFormatString = "{0:C2}")]
public decimal TotalPrice { get; set; }
[DisplayFormat(DataFormatString = "{0:C2}")]
public readonly decimal TotalRoundedPrice
{
    get ()
    {return Math.Round(this.TotalPrice);}
}

在模型中创建一个输出正确值的新字符串属性:

public string TotalPriceDisplay
{
    get { return Math.Round(this.TotalPrice).ToString ("F"); }
}