C++ int float casting

后端 未结 8 1578

Why is m always = 0? The x and y members of someClass are integers.

float getSlope(someClass a, someClass b)
{           
    float m = (a.y - b.y) / (a.x -         


        
8条回答
  •  被撕碎了的回忆
    2020-12-09 08:37

    if (a.y - b.y) is less than (a.x - b.x), m is always zero.

    so cast it like this.

    float m = ((float)(a.y - b.y)) / ((float)(a.x - b.x));
    

提交回复
热议问题