通常、double型またはdecimal型の値の等価性に依存することはできませんが、0が特殊な場合かどうか疑問に思っています。
0.00000000000001と0.00000000000002の間の不正確さは理解できますが、0は何もないため、混乱するのはかなり難しいようです。何も不正確だとしたら、それはもはや何もありません。
しかし、私はこのトピックについてあまり知らないので、私が言うことはできません。
double x = 0.0;
return (x == 0.0) ? true : false;
それは常にtrueを返しますか?