以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 字符串转换提示错误问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=191049) |
-- 作者:lrh9537 -- 发布时间:2024/3/23 16:26:00 -- 字符串转换提示错误问题 如下数据列:证件号码, 残疾证号, 残疾等级, 残疾类型 41132319521114051541, 41132319521114051541, 41, 肢体一级 41132319820621051952B1, 41132319820621051952B1, 52B1 残疾证号为20位的正常显示, 残疾证号为22位的提示错误如下: Conversion from string "52B1" to type \'Double\' is not valid. 请老师帮忙解决下,谢谢 代码如下: Dim Result As DialogResult Dim zt1 As String = "肢体一级" Dim zt2 As String = "肢体二级" Result = MessageBox.Show("导入残疾证号吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) If Result = DialogResult.Yes Then For Each dr As DataRow In DataTables("脱贫人口信息表").DataRows If dr.isnull("证件号码") = False AndAlso dr("证件号码").length = 20 Then dr("残疾证号") = left(dr("证件号码"), 20) dr("残疾等级") = Right(dr("证件号码"), 2) ElseIf dr.isnull("证件号码") = False AndAlso dr("证件号码").length = 22 Then dr("残疾证号") = left(dr("证件号码"), 22) dr("残疾等级") = Right(dr("证件号码"), 4) End If If dr("残疾等级") = 41 Then dr("残疾类型") = zt1 ElseIf dr("残疾等级") = 42 Then dr("残疾类型") = zt2 End If Next DataTables("脱贫人口信息表").Save MessageBox.Show("残疾证号已全部导入。", "提示") Else MessageBox.Show("残疾证号未全部导入,请重新操作。", "提示") End If [此贴子已经被作者于2024/3/23 16:29:12编辑过]
|
-- 作者:有点蓝 -- 发布时间:2024/3/23 16:41:00 -- 残疾等级列改为字符型列 |
-- 作者:lrh9537 -- 发布时间:2024/3/23 16:43:00 -- 就是字符型列 41, 字符串为纯数字 52B1,字符串包含数字和字母,导致无法运行下去,需要解决此问题
[此贴子已经被作者于2024/3/23 16:49:38编辑过]
|
-- 作者:有点蓝 -- 发布时间:2024/3/23 16:45:00 -- 那就不是上面代码的问题,检查其它代码 |
-- 作者:lrh9537 -- 发布时间:2024/3/23 16:51:00 -- 这个错误表明尝试将字符串 "52B1" 转换为 Double 类型,但是这个操作是非法的,因为 "52B1" 包含非数字字符 "B"。 |
-- 作者:有点蓝 -- 发布时间:2024/3/23 17:20:00 -- 这个是自己要思考的问题,这种情况需要转换为什么数字? |