将十进制属性格式化为类中的货币

时间:2013-07-09 06:51:57

标签: c#

我创建了一个类

public class XYZ: DomainObject
{   
    public decimal Price { get; set; }
    public decimal Commission { get; set; }
}

现在我在许多地方使用Price属性。我要求将价格值5454更改为5,454.00

所以我用这个

@String.Format("{0:N}", Model.Price)

但是在这种方法中,我必须在很多地方做上面的事情,我想用我班级里面的Price属性做点什么。所以当一个人试图获得这个属性时。他获得格式化的值5,454.00

我该怎么办?

2 个答案:

答案 0 :(得分:6)

您的属性是decimal,因此没有分配格式。您可以添加string的另一个属性并隐藏其中的格式:

public class XYZ: DomainObject
{   
    public decimal Price { get; set; }

    public string PriceString
    {
        get { return Price.ToString("N"); }
    }

    public decimal Commission { get; set; }
}

答案 1 :(得分:0)

那么这样的事情:

public string PriceFormatted { get { return string.Format("{0:N}", Price); } }