Если вы просто сравниваете двойную переменную с 0.0 (или 0), я считаю, что это безопасно, потому что я думаю, что 0 может быть представлено точно с плавающей запятой, но я не уверен на 100%.
В целом, предлагаемый подход для сравнения чисел с плавающей запятой состоит в том, чтобы выбрать значение «дельта», при котором вы будете считать два двойных равными, если их разность меньше, чем дельта. Это обрабатывает точные ограничения представления с числами с плавающей запятой.
double first = 1.234;
double second = 1.2345;
double difference = Math.Abs(first - second);
double threshold = 0.000001; // doubles are equal if their difference is less than this value - you choose this value based on your needs
bool areEqual = difference < threshold;