请问如何将'112,345,234'这样的string转换成数字?
不用pos(',','112,345,234'),因为可能间隔不是','
有没有函数?
不用pos(',','112,345,234'),因为可能间隔不是','
有没有函数?
解决方案 »
- Delphi编写windows应用程序,writeln函数不能使用
- delphi7上传到远程sql2000丢失数据?
- 运用TTcpServer控件的问题
- 如何导出到Excel文件中?
- dggrid能否实现宽度自适应??
- 500分求助,图片浏览的问题。急 急 急!!!!!
- 高手提示的问题,我还是不懂,搜也搜不到
- 连接ACCESS数据库的小问题!
- 谁知道多层系统生成的应用服务器怎么从系统中完全删除?
- 如果你的同事DELPHI水平不及你,干的活又比你少,但他的工资却比你高不少,你会怎么想?你会以一种什么样的心态来对待呢?欢迎讨论!!!
- 虽然是简单的问题,但是还是想请大家帮帮我,谢谢!
- 如何用DELPHI模拟复制IE的HTML内容进入剪贴板
编一个函数,去掉',',然后StrToInt,
笨点的办法可以分别COPY出来再合一起STRTOINT..
var
MyStr:string;
i,j:integer;
begin
j:=0;
MyStr:='ll123,23,89,56\890.7';
if length(MyStr) > 0 then
for i := 0 to length(MyStr) do
if not (MyStr[i+1] in ['0'..'9','.']) then
begin
if length(copy(MyStr,j+1,i-j))>0 then
listbox1.Items.Add(copy(MyStr,j+1,i-j));
j:=i+1;
end;end;
在此基础上改了下:
Function Str2F(Str:String):double;
var
MyStr:String;
i,j:integer;
begin
j:=0;
if length(Str)>0 then
For i:=0 to length(Str) do
if not (Str[i+1] in ['0'..'9','.']) then
begin
if length(copy(Str,j+1,i-j))>0 then
MyStr:=MyStr+copy(Str,j+1,i-j);
j:=i+1;
end;
Result:=strtofloat(Mystr) ;
end;
i: integer;
strSrc, strDes: string;
begin
strSrc := '123,456_789,123m.45';
strDes := '';
for i := 0 to Length(strSrc) do begin
if strSrc[i] in ['0'..'9','.'] then
strDes := strDes + strSrc[i];
end;
ShowMessage(strDes); //strDes 你要的数字字符串。
end;
StringReplace('112,345,234',',','',[rfReplaceAll]);
不过formatfloat肯定不行,因为弄反了,那个是把float变成string的
去掉','也不行,因为不一定是',',也可能是其他符号
我倒是想到一个,用ASCII判断0~9