.NET的ToString()数字截断

ill*_*ant 0 c# wpf

因此,WPF在DataGrid中生成TextColumns时调用对象上的ToString(),然后我发现了ToString()方法的奇怪之处:检查出来:

object a = 0.3780000001;//Something like this
Console.WriteLine(a.ToString());//Gets truncated in some cases
Run Code Online (Sandbox Code Playgroud)

首先,我认为它只是四舍五入,但很少有几次我能够在点后面的<15位数的双打上重现这种行为.我错过了什么吗?

Tim*_*son 9

对于计算机,0.378和0.378000 ... 0001是相同的数字.看到这个问题:为什么C#中的浮点运算不精确?