我的模型上有一个属性:
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,00
为TotalPrice
(或类似内容),则视图显示800,01
和 这也是正确的 ,但我的客户希望如果$ 800,01
包含小数,则视图必须显示TotalPrice
而不是小数。
我无法使用,00
格式化数字,因为它会显示[DisplayFormat(DataFormatString = "{0:C0}")]
而我不希望这样。
这个案例的格式是什么?
举个例子:
$ 800
答案 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"); }
}