Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 十进制类型的声明后缀_C#_.net - Fatal编程技术网

C# 十进制类型的声明后缀

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

如果我想在代码中使用十进制文字,我已经看到存在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 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;