Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共7 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:[求助]不能计算

1楼
明天的灵 发表于:2024/7/23 21:53:00
'目的是把IP地址的后三位,转换为数字形式:“44135122”,
'以下代码执行结果却为:301,即只有后三位IP数字直接相加

Dim mc As String
Dim ii As Integer
mc = "172.44.135.122"
Dim Values() As String
Values = mc.split(".")
For Index As Integer = 1 To Values.Length -1    
      Select Case Index
        Case Index =1
            ii = ii + Values (Index) * 1000000
        Case Index = 2
            ii = ii +Values (Index) * 1000
        Case Else    
            ii = ii +Values (Index)*1    
    End Select    
Next    
Output.Show(ii)

2楼
有点蓝 发表于:2024/7/23 22:15:00
Dim mc As String = "172.44.135.122"
Dim i As Integer = mc.indexof(".")
mc = mc.substring(i + 1).Replace(".", "")
Dim ii As Integer = CInt(mc)
Output.Show(ii)
3楼
明天的灵 发表于:2024/7/23 23:15:00
 谢谢蓝版主提供另一思路解决问题。
4楼
明天的灵 发表于:2024/7/23 23:46:00
 直接删除后三位“.”还不行。
 如遇到IP数字段只用二位数字时,则顺序变化不符合习惯(大小顺序)
修改为以下代码,输出符合要求。

Dim mc, a, b, c As String
Dim ii As Integer
mc = "172.44.12.12"
Dim Values() As String
Values = mc.split(".")
For Index As Integer = 1 To Values.Length - 1
    Select Case Index
        Case 1
            a = Values (Index) & "000000"
        Case 2
            b = Values (Index) & "000"
        Case Else
            c = Values (Index)
    End Select
Next
ii = Val(a) + Val(b) + Val(c)
Output.Show(ii)
[此贴子已经被作者于2024/7/24 7:19:14编辑过]
5楼
有点蓝 发表于:2024/7/24 8:36:00
Dim mc As String = "172.44.12.12"
Dim Values() As String
Values = mc.split(".")
mc = ""
For i As Integer = 1 To Values.Length - 1
    mc = mc & Values(i).PadLeft(3, "0")
Next
Dim ii As Integer = CInt(mc)
Output.Show(ii)
6楼
y2287958 发表于:2024/7/24 14:46:00
Dim 数组() As String = "172.44.12.12".Split(".")
Output.Show(数组(1) & String.Join("", 数组.skip(2).select(Function(元素) 元素.PadLeft(3, "0"))))
不管是一位还是二位,均能补全
[此贴子已经被作者于2024/7/24 14:47:25编辑过]
7楼
明天的灵 发表于:2024/7/24 23:29:00
谢谢楼上二位狐神,你们代码比我简洁多了,崇拜!!

共7 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02344 s, 2 queries.