我何时会在C#中遇到Double类型的问题,比特币有8位小数?

goo*_*ate 1 c# floating-point double floating-accuracy bitcoin

我记得读过有关某些数学运算和类型的问题double,但我忘了它们何时会发生,或者我需要如何处理它们.

"比特币"是一个有8个小数位的浮点数.我假设我使用它们键入double它,而不是任何其他类型(十进制等).它是否正确?

在编写,调试和测试使用8个小数点的应用程序时,我应该考虑哪些其他问题?

Chr*_*isF 6

如果你正在做任何有钱的事你应该使用decimal.您将在8位小数之前得到准确性问题,具体取决于数字的大小.

由于存在固定数量的空间(有效数字的数量)float可以比-1,000到10,000(例如)范围内的数字更准确地表示-1到+1范围内的数字.

Float只有7位精度,这意味着它不能代表低至8位小数的数字.

Double具有15-16位精度,因此更准确但仍然不够准确,无法进行货币计算 - 特别是对于较大的值.

如果他们称之为a float那么它会产生误导.它们可能意味着"浮点型",float它只是一个.