1, 当小弟进行 Text1.Text = 1 / CDbl(Text1.Text) 计算的时候
为何Text1 会出现 .25 这样的形式?小弟希望做成 0.25请问怎么办
2,当 Text1.Text 为空的时候 Text1.Text = 1 / CDbl(Text1.Text)
会出现 一个错误对话框 问你是调试,还是结束 ,小弟希望最好像c++那样
一个try catch 把整个程序的错误都捕捉 然后弹出一个MessageBox 
提示操作失败,而不失导致整个程序崩溃,请问这样如何实现??

解决方案 »

  1.   

    '1. 自己判断,或者用format,下面的形式就可以得出你要的结果
    Text1.Text = 1 / CDbl(Text1.Text)
    Text1.Text = IIF(Left(Text1.Text,1)=".","0" & Text1.Text,Text1.Text)'2.VB 只有 ON ERROR RESUME NEXT
    On Error Resume Next
    Text1.Text = 1 / CDbl(Text1.Text) 
    If Err Then
      Err.clear
      MsgBox "操作失败!"
    End If
    On Error Goto 0
      

  2.   

    我的机器好像没有这个问题。如果要捉错误,要用on error语句。
      

  3.   

    第一个问题一楼说完了。
    第二个问题源于CDBL对空字符串转换会报类型不匹配错误。
    捕捉错误的方法可以套用如下模式:
    private sub foo()
     on error goto on_err
     '过程逻辑
     exit sub
    on_err:
     onError err.description
    end subprivate sub onError(error)
     '处理错误
    end sub
      

  4.   

    Text1.Text = IIF(Left(Text1.Text,1)=".","0" & Text1.Text,Text1.Text)
    对我有用!