以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助] 如何将文本型的控件值转为整数?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=51722)

--  作者:netfox168
--  发布时间:2014/6/1 23:28:00
--  [求助] 如何将文本型的控件值转为整数?
在窗口有一文本型控件"新增",我想将其中的值当做整数定义变量用于其他,比如某表新增行数:

Dim addrows As WinForm.TextBox = e.Form.Controls("新增")
Tables("表名").AddNew(addrows)

但提示 WinForm.TextBox 无法转为 Integer ,有什么办法解决?


--  作者:netfox168
--  发布时间:2014/6/2 0:27:00
--  
自行解决了:

Dim addrows As WinForm.TextBox = e.Form.Controls("新增")
Dim add As String = addrows.text
Tables("表名").AddNew(add)

中间加多一个过渡的变量 "add" 。

--  作者:菲舍尔
--  发布时间:2014/6/2 1:40:00
--  

虽然你声称解决了问题,但方法是错误的,只是瞎猫碰上了死耗子

 

 

问题的正解是:

 

文本型的控件的值是string型的,当你想将其转换成整数型的时候,你应该用转换函数Cint()

 

正确的代码应该是这样的:

 

Dim addrows As WinForm.TextBox = e.Form.Controls("新增")
Dim add As Integer = cint(addrows.text)
Tables("表名").AddNew(add)
 
你之前的代码之所以运行正确是,因为VB.net本身有个自动转换功能。
如果e.Form.Controls("新增")的值不是数字,就会出错。
 

--  作者:netfox168
--  发布时间:2014/6/3 11:14:00
--  
也许你是对的,我之前也用过 cint 这个转换函数,但总提示出错,不知什么原因。
又学了一些新知识,谢谢!