============================
保留1位小数
===========================
function BL1(s: real): real;
var
r1, r2: real;
s1, s2: string;
begin
r1 := int(s);
r2 := frac(s);
s1 := copy(floattostr(r1), 1, length(floattostr(r1)));
if length(floattostr(r2)) >= 4 then
begin
if strtoint(copy((floattostr(r2)), 4, 1)) >= 5 then //小数第三位开始复制一位0.00
if strtoint(copy((floattostr(r2)), 3, 1)) = 9 then
保留1位小数
===========================
function BL1(s: real): real;
var
r1, r2: real;
s1, s2: string;
begin
r1 := int(s);
r2 := frac(s);
s1 := copy(floattostr(r1), 1, length(floattostr(r1)));
if length(floattostr(r2)) >= 4 then
begin
if strtoint(copy((floattostr(r2)), 4, 1)) >= 5 then //小数第三位开始复制一位0.00
if strtoint(copy((floattostr(r2)), 3, 1)) = 9 then
begin
s1 := inttostr(strtoint(s1) + 1);
s2 := '';
end
else
S2 := inttostr(strtoint(copy((floattostr(r2)), 3, 1)) + 1)
else if copy((floattostr(r2)), 3, 1) = '0' then
s2:=''
else s2 := copy(floattostr(r2), 3, 1);
end
else s2 := copy(floattostr(r2), 3, 1);
result := strtofloat(s1 + '.' + s2);
end;
s1 := inttostr(strtoint(s1) + 1);
s2 := '';
end
else
S2 := inttostr(strtoint(copy((floattostr(r2)), 3, 1)) + 1)
else if copy((floattostr(r2)), 3, 1) = '0' then
s2:=''
else s2 := copy(floattostr(r2), 3, 1);
end
else s2 := copy(floattostr(r2), 3, 1);
result := strtofloat(s1 + '.' + s2);
end;
====================
调用
=====================
label3.Caption :=floattostr(BL(strtofloat(edit1.text)));
调用
=====================
label3.Caption :=floattostr(BL(strtofloat(edit1.text)));
================================
四舍五入到整数
================================
function BL0(s: real): real;
var
r1, r2: real;
s1, s2: string;
begin
r1 := int(s); //取整数部分
r2 := frac(s); //取小数部分
s1 := copy(floattostr(r1), 1, length(floattostr(r1))); //复制R1,复制位
四舍五入到整数
================================
function BL0(s: real): real;
var
r1, r2: real;
s1, s2: string;
begin
r1 := int(s); //取整数部分
r2 := frac(s); //取小数部分
s1 := copy(floattostr(r1), 1, length(floattostr(r1))); //复制R1,复制位