Let*_*man 5 c# floating-point double decimal
因此,我们知道诸如0.1之类的分数无法在二进制基数中准确表示,这会导致精确的问题(例如此处提到的:格式化C#中输出的双精度数).
而且我们知道我们有十进制表示数字的十进制类型...但问题是,很多数学方法,不支持十进制类型,所以我们将它们转换为double,这再次破坏了数字.
那我们该怎么办?
要全面了解执行浮点计算所涉及的挑战,请参阅以下文章:
每个计算机科学家应该知道的关于浮点运算的知识 http://docs.sun.com/source/806-3568/ncg_goldberg.html