C#中的双倍计算值

时间:2015-01-19 01:54:51

标签: c#

我在C#中的计算声明如下:

(-0.0116 * (5.08 - 0.52 * Math.Pow(5.08, 1.3)) * Math.Pow(0.5, 1.1) * (-0.14 * Math.Pow((19000 * 0.5), 0.8)))

当我调试并添加此语句以供观看时,它显示如下截图:

enter image description here

但是当分配给double变量时,结果发生了变化:

enter image description here

如何在不更改任何实现的情况下获取0.89713135944117184

1 个答案:

答案 0 :(得分:0)

C#中double的最大精度为15或16位。请参阅the reference here

假设您使用的是.Net 4+,则应使用BigIntegerBigInteger“表示任意大的有符号整数。” See the BigInteger documentation here

有关使用BigInteger类进行基于小数的计算的示例实现,请参阅this answer