C#decimal ToString()方法不一致

时间:2009-06-18 16:04:20

标签: c#

有人可以解释什么是错的吗?

我的行[i]是盒装小数,当调用“ToString()”时,它给出带有4个尾随零的整数。

我也有((对象)35m)也是盒装但没有给出零。

怎么会发生?除非是调试器问题或C#硬编码,否则我没有想法。

我是stackoverflow的新手,所以我无法附加图片。以下url是调试器的快照。 http://img200.imageshack.us/img200/8749/decimalissuek.jpg

1 个答案:

答案 0 :(得分:5)

Decimals存储零的数量(或者更确切地说,它们的整体精度,包括尾随零):

Console.WriteLine(35m);
Console.WriteLine(35.0m);
Console.WriteLine(35.00m);
Console.WriteLine(35.000m);
Console.WriteLine(35.0000m);

...你会看到零被保留。我猜你的行[i]确实有4个尾随零。