IP地址点分表示法与十进制表示法的转换'
IP地址点分表示法与十进制表示法的转换
        ' IP地址点分表示法转换为十进制表示法
IP地址点分表示法与十进制表示法的转换
        '

IP地址点分表示法与十进制表示法的转换            
' 使用正则表达式进行IP地址检验
IP地址点分表示法与十进制表示法的转换
            Dim subIP As String() = Split(dotIP, ".")
IP地址点分表示法与十进制表示法的转换            
'IP Address = w.x.y.z
IP地址点分表示法与十进制表示法的转换
            'IP Number = 16777216 * w + 65536 * x + 256 * y + z
IP地址点分表示法与十进制表示法的转换

IP地址点分表示法与十进制表示法的转换            Dot2LongIP 
= 16777216 * CLng(subIP(0)) + 65536 * CLng(subIP(1)) + 256 * CLng(subIP(2)) + CLng(subIP(3))
IP地址点分表示法与十进制表示法的转换
IP地址点分表示法与十进制表示法的转换        
End Function
IP地址点分表示法与十进制表示法的转换

IP地址点分表示法与十进制表示法的转换            
'IP Address = w.x.y.z
IP地址点分表示法与十进制表示法的转换
            'IP Number = 16777216 * w + 65536 * x + 256 * y + z
IP地址点分表示法与十进制表示法的转换

IP地址点分表示法与十进制表示法的转换            
'w = int ( IP Number / 16777216 ) % 256
IP地址点分表示法与十进制表示法的转换
            'x = int ( IP Number / 65536    ) % 256
IP地址点分表示法与十进制表示法的转换
            'y = int ( IP Number / 256      ) % 256
IP地址点分表示法与十进制表示法的转换
            'z = int ( IP Number            ) % 256
IP地址点分表示法与十进制表示法的转换

IP地址点分表示法与十进制表示法的转换            
Dim dotIP As String
IP地址点分表示法与十进制表示法的转换            
Dim subIP As Integer
IP地址点分表示法与十进制表示法的转换
IP地址点分表示法与十进制表示法的转换            subIP 
= CInt(Fix(longIP / 16777216)Mod 256
IP地址点分表示法与十进制表示法的转换            dotIP 
= CStr(subIP) + "."
IP地址点分表示法与十进制表示法的转换

IP地址点分表示法与十进制表示法的转换
            subIP = CInt(Fix(longIP / 65536)Mod 256
IP地址点分表示法与十进制表示法的转换            dotIP 
+= CStr(subIP) + "."
IP地址点分表示法与十进制表示法的转换

IP地址点分表示法与十进制表示法的转换
            subIP = CInt(Fix(longIP / 256)Mod 256
IP地址点分表示法与十进制表示法的转换            dotIP 
+= CStr(subIP) + "."
IP地址点分表示法与十进制表示法的转换

IP地址点分表示法与十进制表示法的转换
            subIP = CInt(Fix(longIP Mod 256))
IP地址点分表示法与十进制表示法的转换            dotIP 
+= CStr(subIP)
IP地址点分表示法与十进制表示法的转换
IP地址点分表示法与十进制表示法的转换            
Return dotIP
IP地址点分表示法与十进制表示法的转换        
End Function

2005-05-12补充,Ninputer:的方法确实很好,效率肯定比前面的计算方式要高.
IP地址点分表示法与十进制表示法的转换<StructLayout(LayoutKind.Explicit)> _ 
 IPConvert 
IP地址点分表示法与十进制表示法的转换  
<FieldOffset(0)> Public LongIP As Long 
IP地址点分表示法与十进制表示法的转换  
<FieldOffset(0)> Public DotIP0 As Byte 
IP地址点分表示法与十进制表示法的转换  
<FieldOffset(1)> Public DotIP1 As Byte 
IP地址点分表示法与十进制表示法的转换  
<FieldOffset(2)> Public DotIP2 As Byte 
IP地址点分表示法与十进制表示法的转换  
<FieldOffset(3)> Public DotIP3 As Byte 
IP地址点分表示法与十进制表示法的转换
End Structure 
IP地址点分表示法与十进制表示法的转换
注意需要引入名称空间System.Runtime.InteropServices,并且LongIP的类型确实是Long,而不是Integer.

相关文章: