delphi copy 函数 right
我的代码:EdtResult.Text:=Copy(EdtResult.Text,1,Length(EdtResult.Text)-1);代码写在一个BACKSPACE按...
我的代码:
EdtResult.Text := Copy(EdtResult.Text, 1, Length(EdtResult.Text)-1);
代码写在一个BACKSPACE按钮里面,当我按下着个按钮时,会从最右边开始一下删除一个数,但现在的问题是在一段字符串后面有一个小数点(123456789.)我要跨过小数点从9开始向左删除数据,请问该怎么写啊,我如果把Copy(EdtResult.Text, 1, Length(EdtResult.Text)-1);里面的1该成2能跨过小数点开始删除,但是从最左边开始删除数据的了。谢谢! 展开
EdtResult.Text := Copy(EdtResult.Text, 1, Length(EdtResult.Text)-1);
代码写在一个BACKSPACE按钮里面,当我按下着个按钮时,会从最右边开始一下删除一个数,但现在的问题是在一段字符串后面有一个小数点(123456789.)我要跨过小数点从9开始向左删除数据,请问该怎么写啊,我如果把Copy(EdtResult.Text, 1, Length(EdtResult.Text)-1);里面的1该成2能跨过小数点开始删除,但是从最左边开始删除数据的了。谢谢! 展开
展开全部
procedure TForm1.BackSpaceClick(Sender: TObject);
begin
fun_deletestr;//调用函数
end;
function TForm1.fun_deletestr:string;
var
s:string;
i:integer;
begin
s:=trim(EdtResult.Text); //把内容取得多余空格并赋值
i:=pos('.',s); //取得小数点位置
EdtResult.Text:=copy(s,1,i-2)+ //去掉小数点及前1位的结果
copy(s,i,Length(s)-i+1);//小数点及后面几位结果
end;
经过我自己的调试验证的,可以执行!
begin
fun_deletestr;//调用函数
end;
function TForm1.fun_deletestr:string;
var
s:string;
i:integer;
begin
s:=trim(EdtResult.Text); //把内容取得多余空格并赋值
i:=pos('.',s); //取得小数点位置
EdtResult.Text:=copy(s,1,i-2)+ //去掉小数点及前1位的结果
copy(s,i,Length(s)-i+1);//小数点及后面几位结果
end;
经过我自己的调试验证的,可以执行!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
var
ss:string; len,si:integer;
begin
ss:=EdtResult.Text;
len:=Length(ss);
si:=pos(ss,'.');
if si<>0 then
EdtResult.Text:=copy(ss,1,si-2)+copy(ss,si,len)
else
EdtResult.Text:=copy(ss,1,len-1);
end;
ss:string; len,si:integer;
begin
ss:=EdtResult.Text;
len:=Length(ss);
si:=pos(ss,'.');
if si<>0 then
EdtResult.Text:=copy(ss,1,si-2)+copy(ss,si,len)
else
EdtResult.Text:=copy(ss,1,len-1);
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
var
Str,ResultStr : string;
i : integer;
begin
//For example
//Str := '123456789.99';
I := Pos('.',Str);
if I <>0 then
ResultStr := Copy(Str,1,i-2)
else
ResultStr := Copy(Str,1,Length(Str)-1);
end;
Str,ResultStr : string;
i : integer;
begin
//For example
//Str := '123456789.99';
I := Pos('.',Str);
if I <>0 then
ResultStr := Copy(Str,1,i-2)
else
ResultStr := Copy(Str,1,Length(Str)-1);
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果只要从右往左删除的话 ,我感觉还是再弄一个按钮 最后添加.比较靠谱
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
var
ss:string; si:integer;
begin
ss:=EdtResult.Text;
si:=pos(ss,'.');
EdtResult.Text:=copy(ss,1,si-2)+copy(ss,si,Length(ss));
end;
ss:string; si:integer;
begin
ss:=EdtResult.Text;
si:=pos(ss,'.');
EdtResult.Text:=copy(ss,1,si-2)+copy(ss,si,Length(ss));
end;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询