逗号后用两个零格式化数字?

时间:2015-07-16 15:00:24

标签: c# asp.net-mvc string-formatting

我的模型上有一个属性:

sources = Hash.new {|h,k| h[k] = Array.new }

array.reject{|group| group.size == 1}.each do |group|
  group.collect{|group| group.source}.uniq.each do |source|
    sources[source] << group
  end
end

[DisplayFormat(DataFormatString = "{0:C2}")] public decimal TotalPrice { get; set; } 例如为TotalPrice时,视图会显示800,00,如果$ 800,00TotalPrice(或类似内容),则视图显示800,01 这也是正确的 ,但我的客户希望如果$ 800,01包含小数,则视图必须显示TotalPrice而不是小数。 我无法使用,00格式化数字,因为它会显示[DisplayFormat(DataFormatString = "{0:C0}")]而我不希望这样。 这个案例的格式是什么?

举个例子:

$ 800

2 个答案:

答案 0 :(得分:3)

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

}

或者如果您需要从总价中获得小数,那么

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

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

答案 1 :(得分:0)

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

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