我用的是delphi7和sql server2000
我想要将数据库中的string型的字段(cost)转化为float型进行计算,该如何转换?另外,数据库中datetime型的数据(borrowdate)怎么进行减法运算。数据格式为YYYY-MM-DD

解决方案 »

  1.   

    cast(xxx as float)
    datediff函数
      

  2.   

    能否说得详细点,我现在有两个数,m,n都是string型的
    我要对他们进行m+m*n的运算,该怎样写日期的问题已经解决了
      

  3.   

    var l,n:String;
    var i,m:float;         //278
    var v1,v2:TDateTime;    l:=DM.q_3.FieldValues['borrowdate'];  //借书日期
        n:=DatetoStr(now);     //机器当前时间
        v2:=StrToDate(l);
        v1:=StrToDate(n);
        i:=IntToStr(Trunc(v2-v1));   //计算借书天数
        m:=DM.q_3.FieldValues['cost'].AsFloat;   //该书每天费用
        edit14.text:=Quotedstr(m+m*i);  //计算借书费用       288这是我的程序,编译的时候出现下列错误:
    [Error] U_1.pas(278): Undeclared identifier: 'Float'
    [Error] U_1.pas(288): Incompatible types: 'String' and 'Integer'能帮我把上边的程序改对吗?
      

  4.   

    var l,n:String;
    var i,m:double;         //278
    var v1,v2:TDateTime;    l:=DM.q_3.FieldValues['borrowdate'];  //借书日期
        n:=DatetoStr(now);     //机器当前时间
        v2:=StrToDate(l);
        v1:=StrToDate(n);
        i:=IntToStr(Trunc(v2-v1));   //计算借书天数
        m:=DM.q_3.FieldValues['cost'].AsFloat;   //该书每天费用
        edit14.text:=Quotedstr(Format('%.2f',[(m+m*i)]);  //计算借书费用       288