lnhv013710 2019-04-25 22:58 采纳率: 96.7%
浏览 357
已采纳

vs2010 MFC 小数点浮点数与绘图,像素点转化

如下代码,在F7后有提示:1>MyCKTXDlg.cpp(3520): warning C4244: “初始化”: 从“float”转换到“int”,可能丢失数据。

        int x1T=pArrayDrawList[i].nPoint1_X+nStartX;
        int y1T=pArrayDrawList[i].nPoint1_Y+nStartY;
        int x2T=pArrayDrawList[i].nPoint2_X+nStartX;
        int y2T=pArrayDrawList[i].nPoint2_Y+nStartY;
        pDC->MoveTo(x1T,y1T);
        pDC->LineTo(x2T,y2T);
        请问MoveTo(x1T,y1T);括号里面支持double或者FLOAT吗,如果支持的话,带小数点的值如何在屏幕上绘图,四舍五入成像素点还是全部舍掉小数点后?谢谢
  • 写回答

2条回答 默认 最新

  • wallesyoyo 2019-04-26 09:34
    关注

    你可以往这个函数里面传float或double类型的变量,只是会发生隐式的 float或double 到 int 的转换,这个转换属于截断操作(truncate)。也就是说会全部舍弃掉小数点后面的内容。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?