C# 十进制类型的声明后缀
如果我想在代码中使用十进制文字,我已经看到存在m后缀(其中m代表货币)。这是否适用于任何小数,或者是否有更一般的赋值(d代表double,虽然支持直接转换,但肯定不是正确的赋值) 请注意,我以对象分配为例,因为在C# 十进制类型的声明后缀,c#,.net,C#,.net,如果我想在代码中使用十进制文字,我已经看到存在m后缀(其中m代表货币)。这是否适用于任何小数,或者是否有更一般的赋值(d代表double,虽然支持直接转换,但肯定不是正确的赋值) 请注意,我以对象分配为例,因为在 decimal decimalValue=2; 。。。很明显,2应该通过编译器解释为十进制 m似乎可以,将其用作十进制类型的示例。记录在第2.4.4章: float f = 1.2f; double d = 1.2d; uint u = 2u; long l = 2L; ulong
decimal decimalValue=2;
。。。很明显,2应该通过编译器解释为十进制
m似乎可以,将其用作十进制类型的示例。记录在第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不包含任何内容。如果没有后缀,数字实数文本将是双精度文本。m后缀指定数字实数文字应为十进制 这实际上很重要,因为浮点值(如Double)上的算术是不精确的。例如:
object decimalValue=(5.32 + 2.23);
这里,decimalValue实际上包含一个Double,意外值为7.5500000000000007!如果我想要7.55,我可以这样做:
object decimalValue=(5.32m + 2.23m);
为了回答您关于是否有更一般的后缀的问题,m是C#中十进制的唯一后缀。正如你提到的,它可能代表金钱,但他们确实使用了d以外的东西,因为Double使用的是d
进一步阅读:简短回答用C#声明十进制 O/p:141.28
decimal secondMoney = 100.00m;
O/p:100
有关更多信息,请参阅
希望对某人有所帮助。谢谢,我已经看到了msdn链接,并在您输入答案时将其放入我的问题中。然而,我接受了汉斯·帕桑的帖子,因为有一个很好的列表,它将对那些因为后缀而来到这个帖子的人有很大帮助。但是非常感谢。虽然不是后缀,但我们也可以在字符周围使用撇号声明字符c='a'。您也可以参考此文档,它更方便用户:@Thomas,我理解,但我只是尝试为那些搜索声明小数的人提供简短的答案,我应该删除帖子吗,你认为它没用吗?我认为它没用,但我远不是完美的,它可能会帮助别人。如果在第二次阅读中您发现它没有用处,那么您可以删除它。如果你认为它会对某人有所帮助,就让它保持原样:)@ThomasAyoub个人来说,不知道这还包括什么。M可以代表钱,但它可能只是单词“decimal”的下一个可用字母,因为D表示double,E用作指数符号,例如在'1E06'中。
decimal firstMoney = 141.28m;
decimal secondMoney = 100.00m;