所有的变量都是float类型,
k=0.33333334(即是1/3),b=8.0000000, 直线方程是:(1/3)*x-y+b=0, 现在判断点(3,9)是否在直线上时,怎么判断?直接把数字x=3, y=9代入方程不是为0,而是为一个非常小的 数:-8.9406967163085938e-008 ,怎么判断该点在直线上呢?

解决方案 »

  1.   

    貌似原本float类型的数据和0直接比较就不是被推荐的方法,被推荐的方法是指定一个精度,比如0.00001,然后与0的差小于这个精度就算是相等。
      

  2.   

    把 坐标的x0值 代入方程 
    计算出 y
    判断坐标y0与y的差值
    当差值小于可接受范围 可认为在这条直线上另外 如果知道k是分数长量 最好先计算乘法再计算除法
    (1*3)/3 = ?
    (1/3)*3 = ?