你的else后面没有对返回值赋值,当然有问题了,所以,在else中也要给个值

解决方案 »

  1.   

    当然了呀,你得在没个RESULT:=XX;后面家个EXIT让强行函数结束,否则函数会一直走下去的
      

  2.   

    你这么写Result要么为10要么无赋值
      

  3.   

    一下也看不出什么名堂!不过我感觉程序有两点做得不是很合适。
    1.实数间应避免进行“=”比较。如果对速度没什么要求F6=F1应这样写更合适:ABS(F6-F1)<0.0000001或者是(F6-F1<0.000001) and (F6-F1>-0.000001)。
    2.if ((F6<F2) or (F6=F2)  and (F6>F1)) THEN应外再加一层()来确定运算优先级。
    这是我个人观点,不敢说完全正确。至少我没这样的编程习惯!
      

  4.   

    那是Pascal数据类型的限制.
    real和float一样, 是不精确的类型.
    要精准的, 可以考虑 Currency (4位小数) 或 BCD (binary coded decimal value.)
      

  5.   

    各位高手,在Access表中定义的单精度型、两位小数的字段,在delphi里看到的却是有16位小数的数字,导出到Excel中也是如此,不知在哪里设置,请指点一二,谢谢!!