考虑这段代码:
double result = Math.Sqrt(4746073226998689451);
对于结果,我得到的是 2178548422 而不是 2178548421.999999854etc... 我怎样才能得到更精确的结果?
最佳答案
维基百科上提到了一堆适用于 .NET 的高精度数学库 - Arbitrary-percision artithmatic页面。
我以前在这里看到过 BigNum 推荐,尽管维基百科链接已损坏,目前我在其他地方找不到该库。
页面上的另一个选项是 C# binding for MPIR .
关于C#高精度计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8113651/