一个关于浮点数的问题!(9分)

  • 主题发起人 主题发起人 jericho3164
  • 开始时间 开始时间
J

jericho3164

Unregistered / Unconfirmed
GUEST, unregistred user!
我用了一个三方控件,用来输入金额,但是如果金额超过千了,比如1000,那么它就会显示1,000.00,就多了一个逗号,这时如果我用StrToFloat来转换这个金额(这个控件的Text属性就金额),就会出现异常,因为里面有个逗号!有没有办法在运算的时候去掉逗号?注意:逗号可能有多个,因为金额可大可小!
 
自己写个函数ToFloat();<br>在函数中处理字符串.text,把小数点去掉,在用StrToFloat来转换这个金额
 
// 扩展一下<br>function StrToFloatEx(str:string):single;<br>var<br>&nbsp; iPos:integer;<br>&nbsp; ret:string;<br>begin<br>&nbsp; while(true) do begin<br>&nbsp; &nbsp; iPos:=pos(',',str);<br>&nbsp; &nbsp; if ipos&gt;0 then begin<br>&nbsp; &nbsp; &nbsp; ret:=ret+copy(str,1,iPos-1);<br>&nbsp; &nbsp; &nbsp; delete(str,1,iPos);<br>&nbsp; &nbsp; end<br>&nbsp; &nbsp; else begin<br>&nbsp; &nbsp; &nbsp; ret:=ret+str;<br>&nbsp; &nbsp; &nbsp; break;<br>&nbsp; &nbsp; end;<br>&nbsp; end;<br>&nbsp; Result:=strtofloat(ret);<br>end;
 
多人接受答案了。
 
后退
顶部