2009-06-18 45 views
4

任何人都可以解释什么是错的?C#小数ToString()方法有差异

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

我也有((对象)35米),也是盒装,但它不给零。

这是怎么发生的?除非它是调试器问题或C#硬编码,我没有任何想法。

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

回答

5

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

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

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