このコードは機能します (C# 3)
double d;
if(d == (double)(int)d) ...;
- これを行うより良い方法はありますか?
- 無関係な理由で、ダブルキャストを避けたいので; これ以外にどんな良い方法がありますか?(たとえ上手くいかなくても)
注:何人かの人々は、 == がしばしば浮動小数点の格下げに問題があるという (重要な) ポイントを指摘しました。この場合、0 から数百の範囲の値が期待され、それらは整数であると想定されます (非 int はエラーです)。