双变量值等于NaN

时间:2014-12-20 11:30:31

标签: c# variables

我在c#

中有以下代码
double sum1= 0; 
double sum2=0; 
sum1=(a*b-bb*t1); 
sum2= (a*c-cc)*(a*t2-t3); 
Double fs1=  sum1/Math.Sqrt(sum2);

双变量的值为

a=19999
b=65445.370449999828
c=41.054005875599991
bb= 126053.41368000521
cc=15889463100.382524
t1=9999.0
t2=9999.0
t3=99980001.0

为什么我得到双变量fs1的值NaN,但是当我在Microsoft Excel中计算上面相同的等式时,我的值等于0.779331833

2 个答案:

答案 0 :(得分:1)

Math.Sqrt(sum2)返回NaN,因为sum2为否定

sum1 / NaN = NaN

如果你想获得价值,请执行以下操作:

Double fs1 =  sum1/Math.Sqrt(Math.Abs(sum2));

答案 1 :(得分:0)

因为sum2-1,58870531971129E+18Math.Sqrt method会为Negative值返回NaN

这就是为什么您的fs148433880,2431746 / NaNdouble / NaN返回NaN

阅读:7.7.2 Division operator