将类属性声明为小数

时间:2013-04-09 12:29:39

标签: c#

 public class Invoice
    {
        public decimal Amount { get; set; }
    }

我知道 M 是十进制值的后缀

  public class Invoices
    {
        public void IdentityTest()  
        {
            Invoice firstInvoice = new Invoice();  
            firstInvoice.Amount = 0.0M;
        }    
    }

当你必须使用M期望为小数的值时,将类属性声明为十进制是什么意思?

3 个答案:

答案 0 :(得分:2)

您需要告诉编译器文字的类型 - 推断它是不安全的,因为您可能想要使用文字的默认类型(在这种情况下为double)。

如果两者之间存在隐式转换,则此方法有效,但如果不存在,则需要指定转换/转换。

答案 1 :(得分:0)

如果您不使用后缀M,那么该文字将被视为双精度型。假设您不想要double,这可能会导致编译器错误。

答案 2 :(得分:0)

来自MSDN:

  

如果没有后缀m,则将该数字视为double,从而生成编译器错误。

http://msdn.microsoft.com/en-us/library/364x0z75(v=vs.80).aspx