В чем разница между NaN и Infinity ? Когда появляется NaN ? Что это такое?
NaN
Infinity
проверьте, имеет ли дважды значение, если не тогда возвращаются 0
if (double.Equals(double.NaN, myValue)) myValue= 0;