Я знаю, что вы не можете полагаться на равенство между значениями двойного или десятичного типа, но мне интересно, является ли 0 особым случаем.
Пока я могу понять неточности между 0.00000000000001 и 0.00000000000002, 0 сам по себе довольно сложно испортить, так как это просто ничего. Если вы неточенны ни на что, это уже не больше.
Но я не очень разбираюсь в этой теме, поэтому не могу сказать.
double x = 0.0;
return (x == 0.0) ? true : false;
Будет ли это всегда возвращать true?