| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 438 人关注过本帖
标题:[求助]请教为什么数组里的X取不出来!
只看楼主 加入收藏
白展堂
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2007-1-2
收藏
 问题点数:0 回复次数:2 
[求助]请教为什么数组里的X取不出来!
代码如下:
测试210724840618401 预期结果应该为21072419840618401X 而得到的结果却为2107248406184010
如果让pos+1 却得到了正确的9
测试210724880606402 结果为210724198806064025 正确
测试210724800626401 结果210724198006264010 正确
Private Sub Command1_Click()
Dim num1 As Variant
Dim w As Variant
Dim code As Variant
Dim s As Integer
Dim pos As Integer
Dim i As Integer
s = 0
num1 = Text1.Text
w = Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2) '给权重表赋值
code = Array(1, 0, X, 9, 8, 7, 6, 5, 4, 3, 2) '给校验表赋值
If Len(num1) = 15 Then
num1 = Left(num1, 6) + "19" + Right(num1, 9) '添加数字19
For i = 1 To 17
s = s + (w(i - 1)) * (Val(Mid(num1, i, 1))) '累加求和(测试例子结果299正确)
Next
pos = s Mod 11 '求模 (模得2正确)
num1 = num1 + Trim(Str(code(pos))) '加上校验码(应该取X却取不出来)
text2.Text = num1
Else
MsgBox "请您输入原15位身份证号码"
End If
End Sub

搜索更多相关主题的帖子: color 
2007-09-11 14:24
slore
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:1108
专家分:0
注 册:2005-7-1
收藏
得分:0 

Option Explicit

Private Sub Command1_Click()
Dim num1 As Variant
Dim
w As Variant
Dim
code As Variant
Dim
s As Integer
Dim
pos As Integer
Dim
i As Integer
s = 0
num1 = Text1.Text
w = Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2) '给权重表赋值
code = Array(1, 0, "X", 9, 8, 7, 6, 5, 4, 3, 2) '给校验表赋值
If Len(num1) = 15 Then
num1 = Left(num1, 6) + "19" + Right(num1, 9) '添加数字19
For i = 1 To 17
s = s + (w(i - 1)) * (Val(Mid(num1, i, 1))) '累加求和(测试例子结果299正确)
Next
pos = s Mod 11 '求模 (模得2正确)
num1 = num1 & code(pos) '加上校验码(应该取X却取不出来)
Text2.Text = num1
Else
MsgBox
"请您输入原15位身份证号码"
End If
End Sub


还是请你注意你的变量类型……还有数组声明……


快上课了……
2007-09-11 17:43
白展堂
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2007-1-2
收藏
得分:0 


明白了!谢谢您了!辛苦了!


2007-09-11 18:06
快速回复:[求助]请教为什么数组里的X取不出来!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012536 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved