簡體   English   中英

如果文本框具有字符串,則顯示msgbox,但(。)不計數。 視覺基礎

[英]if textbox has string then show msgbox but the (.) doesnt count. visual basic

我在此文本框中只想輸入包括的數字(。)。 例如190.5。

但是,如果它有文本,例如190.5g,它將顯示msgbox(“ error”)

我有在某個地方找到的這段代碼

 Dim allDigit = pbox.Text.Trim.Length <> 0 AndAlso _
      pbox.Text.All(Function(chr) Char.IsDigit(chr))
        If Not allDigit Then
            MsgBox("Please input number only on price")
            pbox.Clear()
            Exit Sub
        End If

如果我加上。 在其上顯示msgbox的數字上,因此無論如何都包含。

請檢查Decimal.TryParse ,而不是自己將字符串拉開。

Dim value As Decimal
Dim yourString As String = "1234"
If Not Decimal.TryParse(yourString, value) Then
    MsgBox("Please input number only on price")
    pbox.Clear()
    Exit Sub
End If

應該注意的是,代表小數點分隔符的字符將根據操作系統的語言設置而有所不同-對於美國/英國英語將是句點,對於德語將是逗號。

改用IsNumeric函數

    If Not IsNumeric(pbox.Text) Then
        MsgBox("Please input number only on price")
        pbox.Clear()
        Exit Sub
    End If

這是我在C#中使用的代碼

    private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
    {
        if (!char.IsControl(e.KeyChar) 
            && !char.IsDigit(e.KeyChar) 
            && e.KeyChar != '.')
        {
                            //message box
            e.Handled = true;
        }

        // only allow one decimal point
        if (e.KeyChar == '.' 
            && (sender as TextBox).Text.IndexOf('.') > -1)
        {
                            //message box
            e.Handled = true;
        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM