这个问题在这里已经有了答案 :
我什么时候应该使用双精度而不是十进制? (12 个回答)
8年前关闭。
我一直看到人们在 C# 中使用双打。我知道我在某处读到双打有时会失去精度。我的问题是什么时候应该使用双精度类型,什么时候应该使用十进制类型?哪种类型适合货币计算?(即超过 1 亿美元)
为了钱, 总是 十进制。这就是它被创建的原因。
如果数字必须正确相加或平衡,请使用小数。这包括人们可能手动进行的任何财务存储或计算、分数或其他数字。
如果数字的确切值不重要,请使用 double 来提高速度。这包括已经存在“有效数字位数”的图形、物理或其他物理科学计算。