function Myround(x:Real):integer; var TR:Real; begin TR:=x-trunc(x); if TR<0.5 then begin result:=trunc(x); end else if TR=0.5 then begin Result:=trunc(x)+1; end else if TR>0.5 then begin Result:=round(x); end;end;
int 转换为real格式的可以直接用等号! 如: var x:real; i:integer; begin i:=9; x:=i; end;
通用得算法 i := Trunc(val + 0.5); // if val = 0.5 then i = 1
function change(val:real):integer; var i:integer; begin if (val<0) then i:=Trunc(val-0.5 ) else i:=Trunc(val+0.5 ); change:=i; end;
保留2位小数round(num+0.05)
保留3位小数round(num+0.005)
.........
var
TR:Real;
begin
TR:=x-trunc(x);
if TR<0.5 then
begin
result:=trunc(x);
end
else
if TR=0.5 then
begin
Result:=trunc(x)+1;
end
else
if TR>0.5 then
begin
Result:=round(x);
end;end;
如:
var
x:real;
i:integer;
begin
i:=9;
x:=i;
end;
i := Trunc(val + 0.5); // if val = 0.5 then i = 1
var i:integer;
begin
if (val<0) then i:=Trunc(val-0.5 )
else i:=Trunc(val+0.5 );
change:=i; end;