В Делфи 10 пытаюсь округлить значение переменной типа real в Edit, но после использования всяких функций, у меня выводит постоянно значение=0.Новичок, поэтому не понимаю совсем, что не так делаю?

procedure TForm1.Button2Click(Sender: TObject);
var r,l,t,a,y,v,w,f:real;
begin
r:=StrToFloat(Edit1.Text)/100;
l:=StrToFloat(Edit1.Text)/100;
t:=StrToFloat(Edit1.Text);
a:=StrToFloat(Edit1.Text)*pi/180;//в радианах
f:=r*sin(a)/l;
y:=arcsin(f);//в радианах
v:=-((r*a)/t)*((sin(a+y))/cos(y));
w:=-(r*(sqr(a))/(sqr(t))*(Cos(a)+(r*Cos(2*a)/l)));
Edit5.Text:=FloatToStr(v);
Edit6.Text:=FloatToStr(w);
end;

Ответы

FloatToStr — это не округление, а перевод действительного числа в строковый тип. Ваши переменные r,l,t,a берут значения из одного текстового поля Edit1, скорее всего поэтому у вас и выходит 0.
Вы наверное хотели брать данные из разных полей?
05.04.16
Рекомендуем личную консультацию

Виталий

С/C++/C#, Pascal/Delphi, PHP, Java/JavaScript, Visual Basic, консультации по web-разработке, удаленная помощь. Дорого, профессионально и качественно.
Посмотреть всех экспертов из раздела Технологии > Delphi