我在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
答案 0 :(得分:1)
Math.Sqrt(sum2)
返回NaN
,因为sum2
为否定
sum1 / NaN = NaN
如果你想获得价值,请执行以下操作:
Double fs1 = sum1/Math.Sqrt(Math.Abs(sum2));
答案 1 :(得分:0)
因为sum2
为-1,58870531971129E+18
而Math.Sqrt
method会为Negative
值返回NaN
。
这就是为什么您的fs1
将48433880,2431746 / NaN
和double / NaN
返回NaN
。