请教Delphi的浮点型数的四舍五入(100分)

  • 主题发起人 主题发起人 akphilip
  • 开始时间 开始时间
A

akphilip

Unregistered / Unconfirmed
GUEST, unregistred user!
一个浮点型数据
我现在是extended型
如f1=12.125或f1=12.1249
想截取小数点后两位
用formatfloat('0.00',f1)后
f1=12.12
没有进位
 
FloatToStrF(f1 + 0.00001, ffFixed, 15, 2)
 
function RRound(Decimal:Double;Digit:Integer):Double;
//uses Math
begin
Decimal := Decimal*power(10,Digit);
Decimal := Trunc(Decimal + 0.5);
Result := Decimal*power(10,-Digit);
end;


rround(12.1249,3) = 12.125
 
procedure TForm1.Button1Click(Sender: TObject);
//form1上放一个edit1,一个label1,一个button1.
var
r1:double;
begin
r1:=strtofloat(edit1.text);
r1:=strtofloat(formatfloat('.00',r1));
//千分位的四舍五入,如果是百分位的四舍 五入可以把.00改为.0
label1.Caption:=floattostr(r1);
end;
 
http://www.delphibbs.com/keylife/iblog_show.asp?xid=27702
 
uses
math;

SimpleRoundTo(值, 保留小数点后几位);
 
RoundTo(12,1249,-3)=12.125
 
Int(12.125*100)/100
 

Similar threads

回复
0
查看
805
爱音乐的孩子是小白
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
483
import
I
后退
顶部