C# 如何在c语言中转换字符串公式?
我如何在c中使用这个公式C# 如何在c语言中转换字符串公式?,c#,C#,我如何在c中使用这个公式 double Diameter = 160; double Height = 118.2; double pi = 3.1416 双重结果= 看看数学课。。。POW和SQRT等方法在那里可用。首先,您可以编写并编写如下代码: public static double ComputeResult( double diameter , double height ) { double result = 0.5 * (
double Diameter = 160;
double Height = 118.2;
double pi = 3.1416
双重结果=
看看数学课。。。POW和SQRT等方法在那里可用。首先,您可以编写并编写如下代码:
public static double ComputeResult( double diameter , double height )
{
double result = 0.5
* (
( (2.0*height) - diameter )
* Math.Sqrt( (height*diameter) - Math.Pow(height,2.0) )
+ (diameter/2.0)
* Math.Asin( 2.0*height -1.0 )
/ diameter
+ ( Math.PI * Math.Pow(diameter,2.0) )
/ 2.0
) ;
return result ;
}
虽然你的公式似乎给出了一个不太多的数字
如果你重构计算以单独评估每个中间计算,并在进行过程中建立结果,那么检查计算会更容易,就像在纸上/黑板上/计算尺上/计算器上工作一样
基本上有3个乘法表达式,它们被计算,求和,除以2,所以你可以把它分成至少3部分,尽管我可能会更进一步:
public static double ComputeResult( double diameter , double height )
{
double t1 = ( (2.0*height) - diameter )
* Math.Sqrt( (height*diameter) - Math.Pow(height,2.0) )
;
double t2 = ( diameter / 2.0 )
* Math.Asin(2.0*height-1.0)
/ diameter
;
double t3 = ( Math.PI * Math.Pow(diameter,2.0) )
/ 2.0
;
double result = 0.5 * ( t1 + t2 + t3 ) ;
return result ;
}
看看课程体系。数学。你试了什么?你还不明白什么?你是在问如何乘法吗?检查系统。数学课它几乎有你需要的一切。否则,您可以查找类似MathUtils的库:您的公式看起来可能有错误,您有sin^-1,但在括号中仅环绕2*Height-1。假设你有原始方程,你可能想把它分解成多个步骤,这是一个非常复杂的方程。另外,Math.PI有一个正确的值,因为PI有一个双精度。我同意Guvante的观点,这在一个结果中太难了。。。那会非常吵闹。最好的办法是把它分成几个部分。重要的是你知道这个等式在做什么。一旦你搞定了,就用System.Math来做指数,三角和平方根。应该很简单。也总是用Math.Pi代替Pi。对于双精度类型,您的缺少精度。结果返回NaN。这意味着什么?NaN=不是数字。标准浮点错误条件。比如除以零,取一个负数的平方根,试图得到域-1之外的值x的反正弦