2009-06-18 16 views
4

Quelqu'un peut-il expliquer ce qui ne va pas?La méthode ToString() C# décimale est en désaccord

J'ai la ligne [i] qui est encadrée en décimal et en appelant "ToString()" elle donne un entier avec 4 zéros de fin.

J'ai aussi ((objet) 35m) qui est également encadré mais il ne donne pas de zéros.

Comment cela a-t-il pu se produire? à moins que ce soit le problème du débogueur ou le code dur C#, je n'ai aucune idée. Je suis nouveau sur stackoverflow, donc je ne peux pas joindre d'images. L'URL suivante est un instantané du débogueur. http://img200.imageshack.us/img200/8749/decimalissuek.jpg

Répondre

5

Décimales stocker le nombre de zéros en eux (ou plutôt, leur précision globale, qui peut inclure des zéros):

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

... vous verrez les zéros étant conservés. Ma conjecture est que votre rangée [i] a vraiment 4 zéros traînants.

Questions connexes