StrToFloat 函数用法???(57分)

  • 主题发起人 主题发起人 cbdiy
  • 开始时间 开始时间
C

cbdiy

Unregistered / Unconfirmed
GUEST, unregistred user!
var
fAllMoney : double;
fAllMoney := 1000.12;
label1.caption := '1000.12'
if fAllMoney > strtofloat(label1.caption) then //返回为真

晕??、
 
对于浮点数来说,if fAllMoney > strtofloat(label1.caption) then 这种比较是不
准确的。
 
why??
加个temp :=strtofloat(label1.caption) 就ok了。
 
跟踪一下,看情况加些强制条件试试
 
我也遇到过,用formatfloat格式化让小数位相同就行了,
 
用Currency类型
 
thanks,你的forgot-D考虑ing............
 
比较浮点型数据.小数位数要相同.
可以用formatfloat函数
 
formatfloat('%-2f',[])
 
strtofloat返回的是extended类型
和Double类型的精度不一样
两者进行比较就会有问题
正如你所说的
加个temp :=strtofloat(label1.caption) 就ok了。
 
看下例:
procedure TForm1.Button1Click(Sender: TObject);
var
fAllMoney : double;
temp:Extended;
code:Integer;
begin
fAllMoney := 1000.12;
val (label1.caption,temp,code);
if code=0 then
if fAllMoney=temp then
showmessage('OK');

end;
 
多人接受答案了。
 
后退
顶部