c# - 如何提高 double 类型对于大数的精度?

标签 c# .net double precision

在此示例代码中

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/

相关文章:

java - 特定情况下的舍入

java - Equals 方法中浮点/ double 实例变量的相等比较是否应该准确?

c# - 将 Environment.CurrentDirectory 与反向路径串联起来

javascript - 在当前页面上突出显示导航栏中的链接

c# - 是否建议使用 ECB 密码模式?

c# - 如何使用ArrayList的 "CopyTo"方法到另一个ArrayList对象?

c# - 如何将泛型与 SqlDataReader 一起使用

c# - 如何在 C# 中将 float 向上舍入到最接近的整数?

java - 如何以这种格式将数据库中的十进制(6,2)值转换为 jformattedtextfield 上的 double 值 **,**

c# - 使用 MVC 托管时无法通过 AJAX 调用 WebAPI Controller