为了使用十进制数据类型,我必须使用变量初始化来执行此操作:
decimal aValue = 50.0M;
M部分代表什么?
答案 0 :(得分:321)
这意味着它是十进制文字,正如其他人所说的那样。然而,起源可能不是这个答案中其他地方所建议的。从C# Annotated Standard(ECMA版本,而不是MS版本):
自D / d以来
decimal
后缀为M / m 已由double
采取。 虽然有人建议M 彼得戈尔德回忆说,代表金钱 M被简单地选为下一个decimal
中的最佳字母。
类似的注释提到C#的早期版本分别包含byte
和short
文字的“Y”和“S”。他们因不经常使用而被丢弃。
答案 1 :(得分:10)
M表示十进制。如果您不添加它,则该数字将被视为双精度数。 D是双倍的。
答案 2 :(得分:3)
根据C#规范:
var f = 0f; // single
var d = 0d; // double
var m = 0m; // decimal (money)
var u = 0u; // unsigned int
var l = 0l; // long
var ul = 0ul; // unsigned long
请注意,您可以使用大写字母或小写字母。
答案 3 :(得分:1)
以M或m为后缀的实数是十进制类型。例如,文字1m,1.5m,1e10m和123.456M都是十进制类型。通过获取精确值将此文字转换为十进制值,并在必要时使用银行家的舍入舍入到最接近的可表示值。除非值被舍入或值为零(在后一种情况下,符号和比例将为0),否则将保留文字中明显的任何比例。因此,将解析文字2.900m以形成带符号0,系数2900和比例3的小数。
答案 4 :(得分:0)
好吧,我想M代表尾数。十进制可以用来省钱,但这并不意味着十进制仅用于赚钱。
答案 5 :(得分:-9)
可能代表Money。