我的MaskEdBox的为 Mask值 #####.##
想将aa=12.01直接赋值给#####.##
它提示非法值,
我用aa="___12.01"给它为正确,
如何将12.01变成MaskEdBox的为 Mask值格式,另外如何在取得
aa="___12.01"转成数值 12.01???

解决方案 »

  1.   

    不行呀,设置那个样子,
    MaskEdBox的为 Mask值 #####.##
    赋值给MaskEdBox必须为_____.__方式我只是想用控件设置输入必段是数字的,非数字不进去,
    格式想是 ######.##有啥别的方法!!!!!
      

  2.   

    '*************************************************
    '* 函数名:subInputNumber                         *
    '* 功  能:除数字键外限制输入                     *
    '* 参  数:                                       *
    '* 调用方法:在KeyPress事件中调用                *
    '* 最后修改日期: 1999.04.02                      *
    '*************************************************Public Sub subInputNumber(ByRef KeyAscii As Integer)    Select Case KeyAscii
            Case vbKeyBack, vbKey0 To vbKey9
                Exit Sub
        End Select
        
        KeyAscii = 0
        
    End Sub
    屏蔽非数字键
      

  3.   

    没有别的方法了吗,我想用MASKEDBOX
      

  4.   

    我写了一个函数应该可以对你有点帮助(是个笨方法,不要见笑)
    '*************************************************
    '* 函数名:abc                                    *
    '* 功  能:在赋值给MaskEdit.Text前 格式化待赋数据 *
    '* 参  数:dblData 待赋数据                       *
    '* 返回值:                                       *
    '*************************************************
    Private Function abc(dblData As Double) As String
    Dim strData As String
    Dim strtmp As String
    Dim intPos As Integer
    Dim i As Integer
        abc = "_____.__"
        strData = CStr(dblData)
        intPos = InStr(strData, ".")
        If intPos > 5 Then
            MsgBox "整数部分大于5位"
            Exit Function
        End If
        If intPos = 0 Then
            If Len(strData) > 5 Then
            MsgBox "整数部分大于5位"
            Exit Function
            
            Else
            strData = strData & "."
            intPos = InStr(strData, ".")
            End If
        End If
        '补上整数部分的"_"
        For i = 1 To 5 - intPos + 1 '5表示"#####"的长度
            strData = "_" & strData
        Next i
        
        intPos = 8 - Len(strData)   '8表示"#####.##"的长度
        '补上小数部分的"_"
        For i = 1 To intPos
            strData = strData & "_"
        Next i
        
        abc = strData
    End Function
      

  5.   

    MaskEdBox为什么可以输入
    12._1 这样的值,怎么验证创刊否为数字