请教各位老师,IP地址211.144.1.186如何才能转换成整数,我需要比较某个IP地址是否在IP段内,除了转换成整数,是否还其他的比较方法?您最好给出代码,谢谢

解决方案 »

  1.   

    比较  substring(0,10)可以满足你的那个IP其它的话 先 Count 第三个 "."在哪里 然后substring
      

  2.   

    比如这样的IP段
    222.248.32.0 - 222.248.32.255你将IP格式换为
    222248032000 - 222248032255把你得到的IP也换为此格式然后数据库比较用ip1<userip and ip2>userip
      

  3.   

    先把 211.144.1.186 变成 4 个数:211、144、1、186,然后计算
    IP = (((211 * 256) + 144) * 256) + 1) * 256) + 186。把你的 IP 段用子网表示出来,比如 211.144.1.0/255.255.255.0,对应为两个数:
    NETWORK = (((211 * 256) + 144) * 256) + 1) * 256) + 0
    NETMASK = (((255 * 256) + 255) * 256) + 255) * 256) + 0如果 (IP & NETMASK) == NETWORK 那么 IP 就在你的网段。
      

  4.   

    IPAddress.Split(".",4)将IP地址分成四个字符串,分割符是.,这样要做什么判断都可以了