Test if a floating point number is an integer

前端 未结 12 2365
醉酒成梦
醉酒成梦 2021-02-18 22:21

This code works (C# 3)

double d;
if(d == (double)(int)d) ...;
  1. Is there a better way to do this?
  2. For extraneous reasons I want to
12条回答
  •  不思量自难忘°
    2021-02-18 22:56

    If your double is the result of another calculation, you probably want something like:

    d == Math.Floor(d + 0.00001);
    

    That way, if there's been a slight rounding error, it'll still match.

提交回复
热议问题