c++/Dokładność po przecinku/Memo

0

Witam!

 void __fastcall TForm2::FormShow(TObject *Sender)
{
        float x;
        Memo1->Clear();
        //MONOTONICZNOSC
        if(StrToInt(Form1->Edit1->Text)==0){Memo1->Lines->Add("Funkcja jest stała");}
        if(StrToInt(Form1->Edit1->Text)>0){Memo1->Lines->Add("Funkcja jest rosnąca");}
        if(StrToInt(Form1->Edit1->Text)<0){Memo1->Lines->Add("Funkcja jest malejąca");}
        //MIEJSCA ZEROWE
        x=(-1)*StrToInt(Form1->Edit2->Text)/StrToInt(Form1->Edit1->Text);
        **Memo1->Lines->Add("Miejsce zerowe funkcji to: ("+FloatToStr(x)+",0)");**
        Memo1->Lines->Add("Punkt przecięcia z osią OY to: (0,"+Form1->Edit2->Text+")");
}

Tak wygląda część mojego programu, mam problem z pogrubioną linijką- ponieważ ZAWSZE zaokrągla mi to automatycznie i zamiast 0,5 w Memo wypisuje 1. To ma być program który rysuje funkcje- liniowa, kwadratowa, trygonometryczne, dzisiaj robię tylko liniówkę ale całą- włącznie z własnościami funkcji których jest co prawda niewiele i zasadniczo są bardzo proste, jednak ta jedna sprawia mi problem bo nie wiem co zrobić.
Jakieś podpowiedzi? Jak to powinno wyglądać?

0

... to: ("+FormatFloat(".0000000",x)+",0 ...

0
Memo1->Lines->Add(FormatFloat(".0000000",x)) 

Dalej to samo, albo wypisuje ",0000000" (jeżeli jest ułamek) albo -3,0000000 (przykładowo, jak ułamka nie ma)

0

x=(-1)*StrToFloat(Form1->Edit2->Text)/StrToFloat(Form1->Edit1->Text);

0

Dzięki wielkie, teraz działa. Moja głupota z tym konwertowaniem :p

1 użytkowników online, w tym zalogowanych: 0, gości: 1