不使用浮点  而是把浮点换成整型 使用tranc就可以

解决方案 »

  1.   

    但是如果用作图形处理的话就会有问题,因为有很多时候涉及到三角函数,而单单用trunc的话可能取得sin0=0,而我的程序中如有变量使用三角函数数值的话岂不是什么都不做?(只是简单的加零--无用功)希望大家指点!谢谢!
      

  2.   

    是四舍五入吗?如果是的,不妨自己写一个精度转换函数,或者用
    strtofloat(format('%20.5f',[DoubleValue]))来将DoubleFloat的精度保存到
    小数后5位.
    (我不懂vb,也不知道LineTo(..)是干什么的 :) )
      

  3.   

    LineTo(..)是画线函数啊VC,VB,Delphi里都有啊看来Delphi在图形处理上不是很完善啊。
      

  4.   

    屏幕上的坐标就是一个个像速,会出现浮点数吗?
    如果你坚持的话!很简单用Ctrl+鼠标左键 看看Lineto如何实现的稍微改改咯!或者继承Lineto写个自己的myLineto!Delphi的图形处理功能VB没的比!
      

  5.   

    如果单纯的说隐射模式设置是用setmapmode(),
    把你的问题说清楚点呀
      

  6.   

    首先声明我不会VB的,我用VC++写了一个分形程序。
    在程序中有这样的语句:
        x=x+d*(cos(th*3.14159/180);
        y=y+d*(sin(th*3.14159/180);
        pDC->LineTo(x,y);
    x,y是坐标点,th是旋转角度(int),d是递归深度,显然3.14159/180是一个很小的浮点数,*th可能是小于1的数,如在Delphi中用trunc()取整的话则永远是0
    则x,y的值始终不变,请教高手指点!谢谢!
      

  7.   

    LineTo(Pixel)是以象素作为单位的,是不能出现小数的(1 Inch = 97 Pixel),
    零点几个象素差在视觉里根本反映不出来.一般来说画图时总是把它放大了再画出来
    (没有必要一定要用2个象素之间的距离来表示数轴上一个单位的长度)
    下面给出一个物理象素和英寸的转换函数,希望有用
    function InchToPixel(dblInch: Double) : Integer ;
    begin
      Result := Round(dblInch * screen.PixelPerInch) ;
    end ;
      

  8.   

    To yyfhz(火山) :
       
       谢谢,我试试。