2012-12-13 21 views
1

我记得阅读有关某些数学运算和double类型的问题,但我忘记它们何时会发生,或者我需要如何处理它们。何时会遇到类似Double的类型Double的问题,比特币有8位小数位?

“比特币”是一个有8位小数的浮点数。我假设我用他们输入double,而不是任何其他类型(小数等)。它是否正确?

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

+4

如果你想要8个精确的小数位,我建议不要使用浮点数。 –

+0

啊......需要一个Double。 – LamonteCristo

+0

嗯,我也是那个...也应该是小数。谢天谢地,我来检查! – LamonteCristo

回答

6

如果您正在用钱做任何事情,您应该使用decimal。根据数字的大小,您将在8个小数位之前获得准确性问题。

由于有一个固定的空间量(有效数字的数量)float可以表示的数字在-1到+1的范围内比它在9,000到10,000范围内的数字更精确(比如说)。

Float only has 7 digits of precision这意味着它不能表示小数点后8位的数字。

Double has 15-16 digits of precision所以更准确,但仍不够准确的货币计算 - 特别是对于大数值。

如果他们称之为float那么这是误导。它们可能是指“浮点型”,其中float只是其中之一。

3

如果您担心小数位数和准确性,特别是在处理货币时,您应该使用decimal而不是floatdouble