如何在数学运算中获得28位精度?

时间:2015-04-13 04:32:01

标签: c# .net math decimal

我参与了一个用c#(windows窗体)制作科学计算器的项目。我需要用十进制类型执行log,sqrt,trignometric fns等操作。有没有办法执行此操作? System.Math仅对double值进行操作。 谢谢

1 个答案:

答案 0 :(得分:0)

考虑使用BigInteger: https://msdn.microsoft.com/en-us/library/system.numerics.biginteger%28v=vs.110%29.aspx

拆分项目,使计算逻辑与大整数一起工作,GUI显示用户友好的表示形式。例如:

在逻辑中:

BigInteger pi = new BigInteger(31415926535);

在GUI中:

string pi = (pi/10).ToString(format);

即使您不使用WPF或MVVM模式,最好在逻辑和表示之间存在这样的差异。