Answers:
记录在C#语言规范的第2.4.4章中:
float f = 1.2f;
double d = 1.2d;
uint u = 2u;
long l = 2L;
ulong ul = 2UL;
decimal m = 2m;
对于int,byte,sbyte,short,ushort没有任何要求。
如果没有后缀,则数字实数文字将是Double。m后缀指定数字实数应为小数。
这一点实际上很重要,因为对浮点值(例如Double)的算术不精确。例如:
object decimalValue=(5.32 + 2.23);
在这里,十进制值实际上将包含一个Double,其意外值是7.5500000000000007!如果我想要7.55,可以这样做:
object decimalValue=(5.32m + 2.23m);
为了回答有关是否存在更通用的后缀的问题,m是C#中Decimal 的唯一后缀。正如您所提到的,它可能代表金钱,但是他们确实使用了d以外的其他东西,因为Double曾使用过它!
进一步阅读:十进制(C#参考)
char c = 'a'使用字符前后的撇号来声明字符。