public class Invoice
{
public decimal Amount { get; set; }
}
我知道 M 是十进制值的后缀
public class Invoices
{
public void IdentityTest()
{
Invoice firstInvoice = new Invoice();
firstInvoice.Amount = 0.0M;
}
}
当你必须使用M期望为小数的值时,将类属性声明为十进制是什么意思?
答案 0 :(得分:2)
您需要告诉编译器文字的类型 - 推断它是不安全的,因为您可能想要使用文字的默认类型(在这种情况下为double
)。
如果两者之间存在隐式转换,则此方法有效,但如果不存在,则需要指定转换/转换。
答案 1 :(得分:0)
如果您不使用后缀M
,那么该文字将被视为双精度型。假设您不想要double,这可能会导致编译器错误。
答案 2 :(得分:0)
来自MSDN:
如果没有后缀m,则将该数字视为double,从而生成编译器错误。
http://msdn.microsoft.com/en-us/library/364x0z75(v=vs.80).aspx