Rephrasing question :
The following code (Not C++ - written in an in-house scripting language)
if(A*B != 0.0)
{
D = (C/(A*B))*100.0;
}
else
{
D = 0.0;
}
yields a value of
90989373681853939930449659398190196007605312719045829137102976436641398782862768335320454041881784565022989668056715169480294533394160442876108458546952155914634268552157701346144299391656459840294022732906509880379702822420494744472135997630178480287638496793549447363202959411986592330337536848282003701760.000000
for D. We are 100% sure that A != 0.0
. And we are almost 100% sure that B == 0.0
. We never use such infinitesimally small values (close to 0.0 but not 0.0) such as the value of B
that this value of C
suggests. It is impossible that it acquired that value from our data. Can A*B
yield anything that is not equal to 0.0 when B
is 0?
The number you divided by was not in fact 0, just very, very close.