在此示例代码中
double number = 2646849856355434345;
Console.WriteLine( number % 5 );
如果我使用 Double 进行此操作,它不会给出精确的答案。这里它会在应该输出“0”的地方输出“1”。
是否有办法提高大双数的精度?
注意: 我知道 BigInteger 并且我可以使用它们,但是 BigInteger 需要很长时间,我想知道我是否可以使用 double 获得相同的精度。
最佳答案
您可以使用Decimal .
它适用于金融和货币计算。 Double 基于 IEEE 浮点算术标准 ( IEEE 754 )。
如果您想了解二进制浮点和十进制浮点之间的差异,请阅读以下文章 ( reference )。
Binary floating point (浮点/ double )
Decimal floating point (十进制)
关于c# - 如何提高 double 类型对于大数的精度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36527858/