关于文本框获取的数字比较大小的有关问题

关于文本框获取的数字比较大小的问题
本帖最后由 bcrun 于 2014-05-31 15:59:30 编辑
今天做VBA打印,通过两文本框获取起始行和打印的末行。



如 textbox1 为起始行, textbox2输入末行,

textbox1输入 5,   textbox2   输入 9, 判断    textbox1<=textbox2,    结果 true



textbox1输入 5,   textbox2   输入 19, 判断    textbox1<=textbox2,   结果 false



为什么??



textbox1输入 05   textbox2   输入 19 判断    textbox1<=textbox2   结果true

------解决方案--------------------
if clng(textbox1.text)<clng(textbox2.text) then

------解决方案--------------------
你使用的是字符比较,改用数字比较:

If Val(textbox1)<= Val(textbox2) Then
------解决方案--------------------
textbox的text属性数据类型是string
如果你能保证俩textbox的输入是数字的话,可以直接比较textbox1.text * 1 和 textbox2.text * 1 ,这样可以隐式转换成double类型
------解决方案--------------------
先用IsNumeric(trim(textbox1.text))判断是否是数字,然后用直接比较textbox1.text  和 textbox2.text ,隐式转换