首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

DELPHI中进行IP地址查询的有关问题,字符串转双精度

2012-03-23 
DELPHI中进行IP地址查询的问题,字符串转双精度需要用DELPHI添加一个查询IP地址的模块,数据库表中已经把sta

DELPHI中进行IP地址查询的问题,字符串转双精度
需要用DELPHI添加一个查询IP地址的模块,数据库表中已经把starip和endip都从IP格式转换成了双精度的数字,现在需要把DELPHI窗口获得的字符串也转换成双精度,不知道该怎么转换。代码如下:

  sip:=edit138.Text;
  If sip='127.0.0.1' Then sip:='192.168.0.1';
  str1:=copy(sip,1,Pos('.',sip)-1);
  sip:=copy(sip,Pos('.',sip)+1,11);
  str2:=copy(sip,1,Pos('.',sip)-1);
  sip:=copy(sip,Pos('.',sip)+1,7);
  str3:=copy(sip,1,Pos('.',sip)-1);
  str4:=copy(sip,Pos('.',sip)+1,3);
   
  num:=strtoint(str1)*16777216+strtoint(str2)*65536+strtoint(str3)*256+strtoint(str4)-1;

用strtoint转换出来的是int型,最后得到的num不能与双精度型的数字进行比较,求教各位高人,该如何从string转换成double?

[解决办法]
StrToFloat()?
[解决办法]

Delphi(Pascal) code
ADOQuery16.SQL.Add('select * from IP地址 where startip <='+FloatToStr(num)+'and endip >='+FloatToStr(num));
[解决办法]
num:=StrToFloat(str1)*16777216+StrToFloat(str2)*65536+StrToFloat(str3)*256+StrToFloat(str4)-1;

ADOQuery16.SQL.Add('select * from IP地址 where startip <='+FloatToStr(num)+'and endip >='+FloatToStr(num));

热点排行