我有以下功能,我试图通过包含if语句来避免负值,但它没有帮助。 ...我如何可能会解决这个问题的建议...避免C++中的负值
double G(double S, double X, double r, double div, double k, double T)
{
double g=0;
g=Phi(d1(S,X,r,div,k,T))/(exp(-div*T)*S*k*sqrt(T));
if((isnan)(g) || (isinf)(g) || (g<0)) g=0;
return g;
}
你在说什么?函数G在某些情况下仍然返回负值? –
是的,在应该返回的场景中它返回的值类似2.17691e-06 0 – itcplpl
2.17691e-06不是负数。它与0.00000217691 –