请问怎样将“¥1,234.00”这种格式的字符串转换成DOUBLE类型的值?(30分)

  • 主题发起人 主题发起人 ewangxu
  • 开始时间 开始时间
E

ewangxu

Unregistered / Unconfirmed
GUEST, unregistred user!
有无解决此问题的系统函数?
 
自己写个很简单的,自保留0-9还有'.',去掉其它没用的字符即可。
 
没有,自己写一个吧, 如下所示,

function MoneyToDouble(sInput :string): double;
var
sTemp : string;
i, nLen : integer;
begin
sTemp:='';
nLen :=length(sInput);
for i:=3 to nLen do
begin
if sInput<>',' then sTemp :=sTemp+sInput;
end;
Result:=StrToFloat(sTemp);
end;


procedure TForm1.Button1Click(Sender: TObject);
var
ddd: double;
begin
ddd:=MoneyToDouble('¥1,234.00');
showmessage(floattostr(ddd));
end;
 
Thanks
但是你没有注意到,不同的系统货币符号不同,如'$'实际上只占一个字节;另外如果有
负号也应该处理。
谢谢你的解答,让我们共同进步!
 

Similar threads

回复
0
查看
1K
不得闲
回复
0
查看
864
不得闲
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
913
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部