![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Помогите пожалуйста округлить результат до целого.
Вкратце о программке: есть формула расчета, три поля для ввода данных (Edit), при нажатии на кнопку(Button) выводится результат в поле Panel. Код:
unit Zn;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
edt1: TEdit;
edt2: TEdit;
pnl1: TPanel;
btn1: TButton;
edt3: TEdit;
lbl2: TLabel;
lbl1: TLabel;
lbl3: TLabel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label5: TLabel;
Label6: TLabel;
procedure btn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.btn1Click(Sender: TObject);
var a:string;
begin
a:=FloatToStr((((StrToFloat(Edt1.Text)-StrToFloat(Edt2.Text))*StrToFloat(Edt3.Text)*65.4)/63.5)*1.28);
pnl1.Caption:=a;
end;
end.http://saveimg.ru/show-image.php?id=...42687571639560 Последний раз редактировалось Admin, 02.10.2011 в 21:47. |
|
#2
|
||||
|
||||
|
Функция Round округляет дробное до целого.
Код:
k:=Round(a); |
|
#3
|
||||
|
||||
|
|
|
#4
|
||||
|
||||
|
Или в зависимости от требуемого:
Код:
k:=Trunc(a); Последний раз редактировалось angvelem, 02.10.2011 в 21:56. |
|
#5
|
|||
|
|||
|
Извиняюсь за незнание матчасти, но я не могу никак примень данную функцию. что делать с переменной 'К'?
|
|
#6
|
||||
|
||||
|
Присвоить к pnl1.Caption, а лучше, возьми всё своё выражение в круглые скобки и перед ними напиши Round, Trunc или, что там требуется.
|
|
#7
|
|||
|
|||
|
Уже по всякому пробовал........может кто посмотрит в чем ошибка...вот файл проекта
http://narod.ru/disk/27078238001/1.rar.html целый день уже потерял........ |
|
#8
|
||||
|
||||
|
Так:
Код:
procedure TForm1.btn1Click(Sender: TObject); begin pnl1.Caption := IntToStr(Round((((StrToFloat(Edt1.Text) - StrToFloat(Edt2.Text)) * StrToFloat(Edt3.Text) * 65.4) / 63.5) * 1.28)); end; |
|
#9
|
|||
|
|||
|
ОГРОМНОЕ СПАСИБО!!!!!!!!!!!!!!!!!!!!!!!
|
|
#10
|
|||
|
|||
|
между прочим это не все.
есть еще функции Код:
Ceil-округл в сторону увеличения Floor-в сторону уменьшения Trunc-в сторону нуля (те отбрасывает дробную часть) Round-до ближайшего целого очень полезной всячины. |