为什么十进制值0与0.0不同

时间:2015-10-14 14:45:05

标签: c#

这只是一个提升自己知识的问题,因为我发现了一些不符合预期的事情。请考虑以下代码

decimal d0 = 0;
decimal d1 = 0M;
decimal d2 = 0.0M;

string s0 = d0.ToString();
string s1 = d1.ToString();
string s2 = d2.ToString();

调试器会在观察窗口中显示d0d10。但它会将d2显示为0.0。字符串s0s1将包含"0"。但s2将包含"0.0"

这是为什么?当然0 == 0.00。实际上(d1 == d2)会返回true。那么为什么C#内部对待这些不同呢?

0 个答案:

没有答案