float a,b,c;
        a = StrToFloat(edt->Text);
        b = StrToFloat(edt2->Text);
        c = FormatFloat("0.0",a-b).ToDouble();
        edt3->Text = FloatToStr(c);像上面那样做不行啊,结果还是显示了所有的小数而没有保留到小数第一位,我要四舍五入保留到小数第一位~~~
请教一下,谢谢`~

解决方案 »

  1.   

    float a,b,c;
    a = StrToFloat(edt->Text);
    b = StrToFloat(edt2->Text);
    c = FormatFloat("0.0",a-b).ToDouble();
    edt3->Text = FloatToStr(int(c*10+0.5) / 10);
      

  2.   

    float a,b,c;
    a = StrToFloat(edt->Text);
    b = StrToFloat(edt2->Text);
    c = FormatFloat("0.0",a-b).ToDouble();
    edt3->Text = FloatToStr(int(c*10+0.5) / 10.0);
    这个可以,上面的少了一点
      

  3.   

    double a,b,c;
    a = edt1->Text.ToDouble();
    b = edt2->Text.ToDouble();
    c = FormatFloat("0.0",a-b).ToDouble();
    edt3->Text = c;
      

  4.   

    FormatFloat 包含了 round 的功能,已经四舍五入了
      

  5.   

    wuyazhe(我的宝贝叫阿刺)正解,揭贴谢谢~
      

  6.   

    谢谢wuyazhe(我的宝贝叫阿刺), hdwong(冰山一角)