int dy = m_RailP2.y - m_RailP1.y;
int dx = m_RailP2.x - m_RailP1.x;
int tmp = dy / dx;
if (tmp == 0)
{
AfxMessageBox(_T("!!!!"));
}
mfc 中两个整数相除 竟然始终等于0? 为啥呢?
答案:4 悬赏:30 手机版
解决时间 2021-02-15 17:16
- 提问者网友:谁的错
- 2021-02-14 23:18
最佳答案
- 五星知识达人网友:患得患失的劫
- 2021-02-14 23:58
不能dy/dx之后再强转成float,已经是0了再转有什么用。。
关键是两个int型的相除,要先将dx强转成float吧
比如dy/(float)dx
关键是两个int型的相除,要先将dx强转成float吧
比如dy/(float)dx
全部回答
- 1楼网友:白昼之月
- 2021-02-15 02:49
int tmp = dy / dx;改成 float tmp = (float)dy/dx
再看看别人怎么说的。
- 2楼网友:舍身薄凉客
- 2021-02-15 01:52
要用doubble类型啊,dx和dy都要显式转换为doubble再除啊。
- 3楼网友:掌灯师
- 2021-02-15 00:53
int tmp = dy / dx;改成 float tmp = (float)(dy/dx);
int除以int小于1的话就被舍去了。。。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
正方形一边上任一点到这个正方形两条对角线的 |
阴历怎么看 ? |