Delphi 取数据

落幕年代 2014-12-16 04:56:34
str:= '-00002';
Edit1.Text := FloatToStr(StrToFloat(Trim((Copy(str,1,5))))) + '.'+ FloatToStr(StrToFloat(Trim((Copy(str,6,1)))));


取得的结果为0.2 怎么获得-0.2的结果值啊!
...全文
107 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
落幕年代 2014-12-17
  • 打赏
  • 举报
回复
引用 1 楼 goease 的回复:
Edit1.Text := Copy(str, 1, 1) + FloatToStr(StrToFloat(Trim((Copy(str,5,1))))) + '.'+ FloatToStr(StrToFloat(Trim((Copy(str,6,1)))));
1楼的可以
落幕年代 2014-12-17
  • 打赏
  • 举报
回复
后面是确定为两位小数
落幕年代 2014-12-17
  • 打赏
  • 举报
回复
引用 2 楼 lyhoo163 的回复:
因为FloatToStr(StrToFloat(Trim((Copy(str,1,5))))) =0 ,0值无符号。所以你的值为0.2了。
你的代码,就改为:
如果确定Str最后一位是小数位:
str:= '-00002';
Str:=Copy(Str,1,length(Str)-1)+'.'+Copy(Str,length(Str),1);
Edit1.Text := FloatToStr(StrToFloat(Str));
数据已经读取到memo里面;从memo里面去数据:如图
如图列 -0017 我要如何得到的结果为-0.17
lyhoo163 2014-12-17
  • 打赏
  • 举报
回复
因为FloatToStr(StrToFloat(Trim((Copy(str,1,5))))) =0 ,0值无符号。所以你的值为0.2了。 你的代码,就改为: 如果确定Str最后一位是小数位: str:= '-00002'; Str:=Copy(Str,1,length(Str)-1)+'.'+Copy(Str,length(Str),1); Edit1.Text := FloatToStr(StrToFloat(Str));
goease 2014-12-16
  • 打赏
  • 举报
回复
Edit1.Text := Copy(str, 1, 1) + FloatToStr(StrToFloat(Trim((Copy(str,5,1))))) + '.'+ FloatToStr(StrToFloat(Trim((Copy(str,6,1)))));

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
  • GAME,图形处理/多媒体社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧