我用两个double型的数据相除结果出现以下错误 希望大家帮忙解答?
//代码
   adoquery2.SQL.Clear;
   adoquery2.SQL.Add('update project set nssj=:a,nssjl=:b,wsss=:c where pname=:d');
   adoquery2.Parameters[0].Value:=nsss-nssd;
   adoquery2.Parameters[1].Value:=(nsss-nssd) div nsss; //错误处
   adoquery2.Parameters[2].Value:=nsss;
   adoquery2.Parameters[3].Value:=dbedit1.Text;
   adoquery2.ExecSQL;
//错误
Operator not applicable to this operand type
不知怎么不适用于double型数据

解决方案 »

  1.   

    DIV (整数除)操作符的操作数只能是 Integer 类型的 , 结果数据也是 Integer 类型的.
      

  2.   

    adoquery2.Parameters[1].Value:=(nsss-nssd) / nsss;  这样应该可以。如果你要取整数部分的话可以用如下:1: int( (nsss-nssd) / nsss ) ; 返回相除后的整数部分的值,但是数据类型还是double,只是小数部分为0。2: Trunc( (nsss-nssd) / nsss ) : 返回相除后的整数部分,返回值为整型。
      

  3.   

    如果要使用double类型的数相除 应该怎么写??