比如我有个数12.15639871我想去小数部分的0.156用frac()函数该怎么取啊?

解决方案 »

  1.   

    var s:string;
    1、s:=formatfloat('0.000', 12.15639871);
    2、ShowMessage(FloatToStr(Frac(StrToFloat(s))));
      

  2.   

    frac是取小数部分,如frac(12.3456),结果:0.3456
    你是不是想取整数据部分,用Int(12.3456),结果:12
      

  3.   

    看错了,你是“取”小数据部分,不是“去”小数据部分:)
    FormatFloat('0.000', 12.3456)可以
      

  4.   


       我的数计算出来是实数!按你的方法要转换成String在取啊!
       能不能不转换直接取?
      

  5.   

    FormatFloat()好象只能对字符串用啊
      

  6.   

    呵呵,兄弟你记错了吧。
    FormatFloat里的参数是real型(实型数据)。看这个:
    var
      s: string;
      v:Double;//这是实型吧?begin
    v:=12.15639871;
    s:=formatfloat('0.000', v);
    ShowMessage(FloatToStr(Frac(StrToFloat(s))));
    end;
      

  7.   

    USES Math
      Roundto(frac(12.15639871),-3);
      

  8.   

    kkgogo(kkgogo) 我看是你错了吧你看下你用FormatFloat()得到的结果不是字符串吗?
      

  9.   

    去小数?用Trunc就OKhttp://lysoft.7u7.net