2009-06-18 79 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個尾隨零。