0

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

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

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

4

2 回答 2

6

如果你用钱做任何事情,你应该使用decimal. 根据数字的大小,您将在小数点后 8 位之前遇到准确性问题。

由于有固定数量的空间(有效数字的数量)float可以更准确地表示 -1 到 +1 范围内的数字,而不是 9,000 到 10,000 范围内的数字(比如说)。

浮点数只有 7 位精度,这意味着它不能表示小数点后 8 位的数字。

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

如果他们称它为a,float那么它会产生误导。它们可能意味着“浮点类型”,float它只是一种。

于 2012-12-13T14:20:28.197 回答
3

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

于 2012-12-13T14:19:56.510 回答