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()?
[解决办法]
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));