M在C#中代表什么?十进制文字符号?

为了处理十进制数据types,我必须在variables初始化的时候这样做:

decimal aValue = 50.0M; 

M部分代表什么?

这意味着这是一个十进制文字,正如其他人所说的。 但是,这个答案的其他地方可能不是那些起源。 从C#注释标准 (ECMA版本,而不是MS版本):

decimal后缀是M / m,因为D / d已经被double 。 虽然有人提出M代表金钱,但是Peter Golde回忆说,M被简单地当作decimal的下一个最好的字母。

类似的注释提到C#的早期版本分别包含byteshort文字的“Y”和“S”。 他们被抛弃的理由是不经常使用。

M表示十进制。 如果您不添加,该数字将被视为双倍。 D是双倍的。

以M或m为后缀的真正文字是十进制的types。 例如,文字1m,1.5m,1e10m和123.456M都是十进制的。 这个字面值通过确切的值被转换成十进制值,如果需要的话,使用银行家的四舍五入将其舍入到最接近的可表示值。 除非值被舍入或者值为零(在后一种情况下,符号和比例将为0),否则在文字中明显的任何比例被保留。 因此,文字2.900米将被parsing为符号0,系数2900和尺度3的小数。

参考: https : //msdn.microsoft.com/en-us/library/aa691085.aspx

大概代表金钱。