如何得到比较精准的浮点数?我有一个浮点数,如:
var f:single;
f := 35/10;这时 f = 3.50000024 之类的。如何得到  3.50000000 或精准到小数点后一位?

解决方案 »

  1.   

    说个实例,var
     f :Single;
    begin
       f:= 1232/10;
       ShowMessage(FloatToStr(f));
    end;我想精准到小数点后一位,如何办?
      

  2.   

    double 也不能精确哈, 总会有个尾数, 看数据用作什么用了, 用于绝对精度的只有 TBcd, 这个是定点数, 最大精确度64位数字, 包括小数, 非小数关于进不进位, 保持几位的函数是 RoundTo 操作类型是 double, double 后面常有尾数
      

  3.   

    s:=formatfloat('0.0', 2.964446);
    依次可实现任意要求
      

  4.   

    Double应该比Single精准多了
    应该可以满足楼主要求实在不行,可以自己实现一个浮点类,需要多精准就多精准
    呵呵