function
myRound(x:extended;n :integer) : extended;
//
x浮点数,n整数保留的位数,返回还是浮点
begin
x : = x * exp(n * ln( 10 ));
if (int(x) * 10 + 5 ) > int(x * 10 ) then
begin
result : = floor(x);
end else
begin
result : = ceil(x);
end ;
result : = result / exp(n * ln( 10 ));
end ;
调用
var
y :extended;
begin
y : = myRound( 3.1415926 , 4 );
end ;
begin
x : = x * exp(n * ln( 10 ));
if (int(x) * 10 + 5 ) > int(x * 10 ) then
begin
result : = floor(x);
end else
begin
result : = ceil(x);
end ;
result : = result / exp(n * ln( 10 ));
end ;
调用
var
y :extended;
begin
y : = myRound( 3.1415926 , 4 );
end ;