怎样将“¥15,300.00”转成"15300"?(100分)

  • 主题发起人 主题发起人 dad
  • 开始时间 开始时间
D

dad

Unregistered / Unconfirmed
GUEST, unregistred user!
请问高手:
怎样将一串字符: ¥15,300.00
转成一串字符: 15300
即将一个金额字段中取出来的字符串转变成没有格式符号的纯数字字符串
这个问题我们这里的人都解决不了,请网上的高手指点一下。。。


 
呵呵,应该不难。
做一个循环取字符,判断字符是否是属于0..9,取出里面的所有数字再凑在一块,需要注意的是关于小数点后面的数要进行一
下处理,如取整或是舍掉。
 
//呵呵~ 懒得再写程序了 这是我以前一个分离数字与非数字的例程 你看看就明白了~

table1.First;
for i:=1 to table1.RecordCount do
begin
s:='';
t:='';
for j:=1 to length(table1.fieldbyname('颜色').asstring) do
begin
a:=copy(table1.fieldbyname('颜色').asstring,j,1);
if ((ord(a[1])>=48)and(ord(a[1])<=57))or ((ord(a[1])>=65)and(ord(a[1])<=90))or(ord(a[1])=45)or ((ord(a[1])>=97)and(ord(a[1])<=122)) then
s:=s+copy(table1.fieldbyname('颜色').asstring,j,1)
else
t:=t+copy(table1.fieldbyname('颜色').asstring,j,1);
end;
table1.Edit;
table1.fieldbyname('Code').asstring:=s;
table1.fieldbyname('Color').asstring:=t;
table1.Post;
table1.Next;
end;
 
多谢两位高手。
我现在去试一试。
 
s:string;
s:='¥15,300.00'
分析pos('.',s)以及copy()和format应该可以解决此类问题。

你的账号是什么意思???!!!
你的账号是什么意思???!!!
你的账号是什么意思???!!!
你的账号是什么意思???!!!
你的账号是什么意思???!!!
你的账号是什么意思???!!!
你的账号是什么意思???!!!
你的账号是什么意思???!!!
 
请看下列函数:
//查找ss中是否有Substr替换成Newstr
function MP_ReplaceStr(ss,SubStr,NewStr:string;RepAll,IgCase:Boolean):string;
var
a:TReplaceFlags;
begin
if RepAll=true then
include(a,rfReplaceAll);
if IgCase=true then
include(a,rfIgnoreCase);
Result:=stringReplace(ss,Substr,Newstr,a);
end;
调用该函数:
字符串G_String:=MP_ReplaceStr(G_String,'.00','',true,true);
G_String:=MP_ReplaceStr(G_String,'¥','',true,true);
G_String:=MP_ReplaceStr(G_String,',','',true,true);
 
各位高手:
我的问题已经得到解决当然是根据了您们的方法。
我也全部加了分。
bubble问我的帐号是什么意思,我想回答您没有什么意思因为当时申请时总是重名一急之下
就于干脆填个简短的,反而成功了。
谢谢!
 
后退
顶部