F fuku Unregistered / Unconfirmed GUEST, unregistred user! 2001-06-12 #1 截取一个real型数值的某几位,例如四舍五入精确到小数点后两位,小弟用 round函数发现是转为整型的,可有其他什么截尾函数?还有就是取中间几位 有否函数调用?
N nnhww Unregistered / Unconfirmed GUEST, unregistred user! 2001-06-12 #3 自己乱写的,参考一下 function round_x(inputNumber:real;decimal:integer):real; begin round_x:=round(inputNumber*Exp(Ln(10)*decimal))/Exp(Ln(10)*decimal); end;
自己乱写的,参考一下 function round_x(inputNumber:real;decimal:integer):real; begin round_x:=round(inputNumber*Exp(Ln(10)*decimal))/Exp(Ln(10)*decimal); end;
Z Zero_Cool Unregistered / Unconfirmed GUEST, unregistred user! 2001-06-12 #4 用 formatFloat 不知道可不可以达到你的要求? ;)
Y ym_adam Unregistered / Unconfirmed GUEST, unregistred user! 2001-06-13 #5 function rRound(r:TNumber;Dec:integer):TNumber; var i:integer; temp:TNumber; begin temp:=1; if Dec>=0 then for i:=1 to Dec do temp:=temp*10 else for i:=-1 downto Dec do temp:=temp/10; result:=round(r*temp)/temp; end;
function rRound(r:TNumber;Dec:integer):TNumber; var i:integer; temp:TNumber; begin temp:=1; if Dec>=0 then for i:=1 to Dec do temp:=temp*10 else for i:=-1 downto Dec do temp:=temp/10; result:=round(r*temp)/temp; end;
C cnaoszh Unregistered / Unconfirmed GUEST, unregistred user! 2001-06-13 #6 var str:String; CurReal:Currency; begin str:=Format('%*.*f', [8, 2, 123.456]) CurReal:=StrToCurr(str); end;
var str:String; CurReal:Currency; begin str:=Format('%*.*f', [8, 2, 123.456]) CurReal:=StrToCurr(str); end;
P panyongze Unregistered / Unconfirmed GUEST, unregistred user! 2001-06-13 #7 如果四舍五入后不在参加计算,而是用于保存或显示打印应该使用Str函数。 大富翁的有位统计学专家(对不起老兄忘了你的大名)告诉我,四舍五入严格讲 应该是“四舍六入五取双”。Round函数返回结果就是这样。 round(1.5)=2 round(2.5)=2 procedure TForm1.Button1Click(Sender: TObject); var S : String; begin Str(1.2345:5:2,S); Button1.Caption:=S; end;
如果四舍五入后不在参加计算,而是用于保存或显示打印应该使用Str函数。 大富翁的有位统计学专家(对不起老兄忘了你的大名)告诉我,四舍五入严格讲 应该是“四舍六入五取双”。Round函数返回结果就是这样。 round(1.5)=2 round(2.5)=2 procedure TForm1.Button1Click(Sender: TObject); var S : String; begin Str(1.2345:5:2,S); Button1.Caption:=S; end;